我今天遇到了一个问题。我正在运行一个带有 FTP 和所有东西的家庭网络服务器,并且还想能够连接到 XBox live。
问题是(也许你们中的一些人知道)Live 使用端口 80(这完全是奇怪和愚蠢的?)并且我只能转发到两个设备中的一个......
我的问题是:
是否可以通过额外的服务器检查(我有很多瘦客户端)哪种协议正在通过端口运行(HTTP 应该非常明显吧?)然后将其路由到 xbox 或网络服务器。
在此站点上使用虚拟服务器进行解释:
http://community.brocade.com/t5/vADC-Docs/Tunnelling-multiple-protocols-through-the-same-port/ta-p/73802
漂亮的示意图:
(XBOX Live)------|----(Fritz-Box)-----('解复用器'-服务器)-------|--(Web-服务器)
++++++++++|++++++++++++++++++++++++++++++++++++|++++++++++++
(用户)--------------|++++++++++++++++++++++++++++++++++++++|----------(XBOX)
希望有人能帮助我以及其他许多人解决这个问题。
解决方案:
如果你使用 apache,请将以下几行添加到你的 conf 文件中,以路由所有非 http 流量或与另一个 ip 相关的配置:
<VirtualHost *:80>
ServerName "*"
ProxyPass / http://ip.from.your.xbox
ProxyPassReverse / http://ip.from.your.xbox
</VirtualHost>
答案1
反向代理可以实现您想要的功能。请参阅此处的答案:
https://serverfault.com/questions/469879/two-or-more-services-on-same-port-behind-nat?rq=1
您可以配置反向代理来接受对您的 Web 服务器的 DNS 名称的请求,并将所有其他端口 80 流量发送到 xbox。