Назад | Перейти на главную страницу

Запуск PHPmyAdmin на Nginx, порт 8080, переданный на varnish, работает некорректно!

Я установил 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, чтобы исправить это.