在 Nginx 上运行 PHPmyAdmin,端口 8080 传递给 varnish 无法正常工作!

amr*_*rnt 5 php nginx port 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;
    }

}
Run Code Online (Sandbox Code Playgroud)

当我去时phpmyadmin.Domain.com它按预期工作!但是在提交用户名/密码后,它也将我重定向到phpmyadmin.Domain.com:8080/index.php?...无法找到响应的页面!

我能做什么?

cyb*_*x86 6

刚刚自己遇到了同样的问题。解决方案是修改 config.inc.php 并指定 phpMyAdmin 安装的绝对 URL。根据phpMyAdmin 文档,添加:

$cfg['PmaAbsoluteUri'] = 'http://your.domain.com/path/to/phpmyadmin/';
Run Code Online (Sandbox Code Playgroud)

在这种情况下,没有必要添加port_in_redirect off;到 nginx 配置 - 尽管这样做似乎没有任何不利影响(并且在其他情况下确实有帮助)。


p4g*_*uru 0

可能是在 phpmyadmin php 文件/设置中明智地寻找标准端口 80。对于某些脚本和 Varnish ie 以及 vbulletin 和 4images 脚本类似的问题,这似乎很常见http://vbtechsupport.com/290/http://vbtechsupport.com /303/ - 希望它能让您知道在哪里查看 phpmyadmin 来纠正这个问题。