目前我正在使用配置执行此操作。
NameVirtualHost *
<VirtualHost *>
ServerName testsite.org
ServerAdmin [email protected]
DocumentRoot /var/www/
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
ErrorLog /var/log/apache2/error.log
LogLevel warn
CustomLog /var/log/apache2/access.log combined
ServerSignature on
</VirtualHost>
<VirtualHost *>
ServerName panel.testsite.org
ProxyPass / http://panel.testsite.org:10000/
ProxyPassReverse / http://panel.testsite.org:10000/
</VirtualHost>
这可行,但现在我需要在 panel.testsite.org 上使用 Perl CGI 来查找 REMOTE_ADDR 并显示服务器的 IP...因为这个代理解决方法。有什么更好的方法可以让我无需使用代理或任何会弄乱 REMOTE_ADDR 的东西就可以执行我需要的操作吗?
答案1
鉴于您正在使用代理,您应该使用反向代理请求标头:
X-Forwarded-For
客户端的 IP 地址。X-Forwarded-Host
客户端在 Host HTTP 请求标头中请求的原始主机。X-Forwarded-Server
代理服务器的主机名。