Apache 2 - 我在端口 10000 上运行 webmin...我希望它可以通过正常的 HTTP 端口 (80) 访问

Apache 2 - 我在端口 10000 上运行 webmin...我希望它可以通过正常的 HTTP 端口 (80) 访问

目前我正在使用配置执行此操作。

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 代理服务器的主机名。

相关内容