【发布时间】:2018-10-22 19:54:29
【问题描述】:
我使用 apache 作为代理服务器来接受一个端口上的传入请求,并将它们重定向到另一个帖子上的目标(基于传入端口),作为 VirtualHost 条目的示例:
<VirtualHost *:444>
CustomLog ${APACHE_LOG_DIR}/access.log combined
ProxyPreserveHost On
ProxyRequests Off
ServerName mydomain.com
ServerAlias mydomain.com
ProxyPass / http://destination_IP:6444/
ProxyPassReverse / http://destination_IP:6444/
SSLCertificateFile /etc/letsencrypt/live/mydomain.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/mydomain.com/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf
</VirtualHost>
我的问题是,当请求到达目标服务器时,它显示的是我的公共 IP 地址(apache 代理服务器的 IP 地址),而不是原始客户端 IP 地址。
我尝试使用a2enmod remoteip 启用mod_remoteip,并将以下内容添加到 apache2.conf 文件中:
LoadModule remoteip_module modules/mod_remoteip.so
但我没有将客户端 IP 地址转发到目标服务器,它仍然显示为我自己的(代理服务器公共 IP 地址)。
我无法修改目标服务器上的任何内容,因此我需要在自己的代理服务器上进行解析。
在这种情况下如何传递客户端 IP 地址?
谢谢。
【问题讨论】: