我在 Nginx 反向代理后面使用 Piwik,而 Piwik 在 Apache 服务器上运行。我还使用重写规则( /piwik/ 到 / )。
对于 Mac 上的 Chrome 和 Safari,Piwik 的登录过程不起作用(我只收到配置浏览器 cookie 和代理服务器的一般错误消息)。
但是我当前的配置在 Mac 的 FirefoxDeveloperEdition 中工作:
nginx.conf:
location /piwik {
rewrite ^/piwik/(.*)$ /$1 break;
proxy_pass http://piwik;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $http_host/piwik;
}
配置.ini.php
[General]
proxy_client_headers[] = HTTP_X_FORWARDED_FOR
proxy_host_headers[] = HTTP_X_FORWARDED_HOST
当我删除/piwik
nginx.conf 到:
proxy_set_header X-Forwarded-Host $http_host;
登录工作正常,但我遇到了另外两个问题:
- 登录后我错误地重定向到根目录
/
(不再是 Piwik),但重新打开 Piwik 后,我已登录 - 由于错误的网址
http://localhost:2020/plugins/Morpheus/images/logo.svg
而不是http://localhost:2020/piwik/plugins/Morpheus/images/logo.svg
我也会保留重写规则,因为 Apache 服务器是一个通用的 docker 容器。
可能我必须分析失败的身份验证条件,但我还没有找到正确的行。