最后,我设法将服务器移动到VirtualBox虚拟机。
VM正在NAT模式下运行。我已经转发了必要的端口,包括端口80,我首先使用iptable将其移植到端口8888,然后通过VirtualBox在来宾操作系统上转发到端口80。
-A PREROUTING -i p10p1 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 8888一切都很好!除了..。我看不到来自PHP $_SERVER‘REMOTE_阿德尔’的网站访问者IP地址。我只看到一个IP地址,我想这是主机的NAT地址。
如何将我的系统(主机操作系统和VirtualBox)配置为能够运行see服务器并查看访问者的IP地址?
我的主机通过一个固定的IP地址直接连接到Internet。为客人的桥接连接获取另一个IP并不是一种选择(这已经是一个相当昂贵的互联网连接)。
发布于 2014-04-22 04:32:35
请尝试一下我在virtualbox论坛上找到的解决方案,它对我有用!
如果没有桥接模式,这是可能的!由于一些奇怪的原因,VirtualBox中的默认NAT模式重写原始源。您想要的是将NAT切换到透明模式,只使用VBoxManage修改为 -nataliasmode1 1 proxyonly。
更多细节可以在这里找到:
https://forums.virtualbox.org/viewtopic.php?f=7&t=43500#p260181
发布于 2013-05-26 11:27:29
使用NAT,您不能通过访问者的IP地址到you服务器。所有到Box服务器的连接都将来自运行Virtual的主机。
要做到这一点,您将需要在主机操作系统上运行VirtualBox来设置HAproxy实例,或nginx,以便在每个HTTP请求上添加具有访问者真实源IP地址的自定义header。
然后,在后端web服务器上解析该报头,并用于web服务器的访问/错误日志和统计。
如果后端the服务器是Apache,则需要下面的模块来解析自定义HTTP头。http://stderr.net/apache/rpaf/
https://serverfault.com/questions/510935
复制相似问题