使用 plesk 的 proxypass,显示管理员会话 ip

使用 plesk 的 proxypass,显示管理员会话 ip

我已经设置了一个用于 plesk 的子域名,这样我就不必一直输入端口。

这是我的HTTP配置:

SSLProxyEngine Off
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule $ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

这是我的HTTPS配置:

SSLProxyEngine On
AllowEncodedSlashes On

<Location />
    ProxyPass https://localhost:8443/
    ProxyPassReverse https://localhost:8443/
</Location>

这是我的nginx配置(没有做任何我需要的事情,只是尝试了一下):

proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto https;

它显示 IP 为 127.0.0.1,在使用 ProxyPass 时,我怎样才能显示我的真实 IP?

答案1

看来您只需要修改一个 fastcgi 参数,而且由于 plesk 运行它自己的实例,它不会干扰任何其他服务。

添加以下行到/etc/sw-cp-server/fastcgi_params

fastcgi_param REMOTE_ADDR $http_x_real_ip;

或者只需使用适当的权限运行此命令:

echo 'fastcgi_param REMOTE_ADDR $http_x_real_ip;' > /etc/sw-cp-server/fastcgi_params

然后重启服务:

/etc/init.d/sw-cp-server restart

相关内容