Я установил Nginx, Varnish и PHP-fpm. Затем я установил PHPmyAdmin и создал для него виртуальный хост:
server{
listen 8080;
server_name phpmyadmin.Domain.com;
access_log /var/log/phpmyadmin.access_log;
error_log /var/log/phpmyadmin.error_log;
location / {
root /usr/share/phpmyadmin;
index index.php;
}
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /usr/share/phpmyadmin$fastcgi_script_name;
include /opt/nginx/conf/fastcgi_params;
}
}
Когда я иду в phpmyadmin.Domain.com
все работает как положено! но после отправки имени пользователя / пароля он перенаправляет меня на phpmyadmin.Domain.com:8080/index.php?...
со страницей тоже не может быть найден ответ!
Что я мог сделать?
Просто столкнулся с такой же проблемой. Решение состоит в том, чтобы изменить config.inc.php и указать абсолютный URL-адрес вашей установки phpMyAdmin. В соответствии с Документация phpMyAdmin, Добавить:
$cfg['PmaAbsoluteUri'] = 'http://your.domain.com/path/to/phpmyadmin/';
В этом случае добавлять port_in_redirect off;
в конфигурацию nginx - хотя, похоже, это не имеет никакого отрицательного эффекта (и помогает в других сценариях).
Просто добавьте следующую строку в свой файл конфигурации nginx, в блоке расположения php в любом месте после в include fastcgi_params
часть:
fastcgi_param SERVER_PORT 80;
Это сообщит php, что он не должен пытаться перенаправить на любой порт, который слушает nginx, а должен оставаться на порту 80, как это предусмотрено с varnish.
Прочтите вики больше: http://wiki.nginx.org/HttpCoreModule#port_in_redirect
Вероятно, что-то в php-файлах / настройках phpmyadmin разумно искать стандартный порт 80. Довольно часто это кажется с некоторыми скриптами и Varnish, т.е. с похожими проблемами vbulletin и 4images script http://vbtechsupport.com/290/ и http://vbtechsupport.com/303/ - надеюсь, это даст вам представление о том, где искать phpmyadmin, чтобы исправить это.