我安装了Nginx,Varnish和PHP-fpm。 然后我安装了PHPmyAdmin,并为它创build了一个虚拟主机:
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它按预期工作! 但提交用户名/密码后,它redirect到phpmyadmin.Domain.com:8080/index.php?...与页面无法find响应以及!
我能做什么?
刚刚遇到同样的问题,我自己。 解决方法是修改config.inc.php并指定phpMyAdmin安装的绝对URL。 根据phpMyAdmin文档 ,添加:
$cfg['PmaAbsoluteUri'] = 'http://your.domain.com/path/to/phpmyadmin/';
在这种情况下,不需要添加port_in_redirect off; 到nginxconfiguration – 虽然做似乎没有任何不利的影响(并在其他情况下有帮助)。
只需在你的nginxconfiguration文件中,在include fastcgi_params部分的任何位置的php位置块中添加以下行:
fastcgi_param SERVER_PORT 80;
这将告诉PHP,它不应该尝试redirect到nginx正在监听的任何端口,但留在端口80与清漆意味着。
可能在phpmyadmin PHP文件/设置明智地寻找标准端口80的东西。很常见,它似乎与一些脚本和光油,即与vbulletin和4images脚本类似的问题http://vbtechsupport.com/290/和http://vbtechsupport.com / 303 / – 希望它给你一些想法在哪里查看phpmyadmin来纠正这一点。
更多阅读wiki: http : //wiki.nginx.org/HttpCoreModule#port_in_redirect