在端口 80 上使用两个服务/协议

在端口 80 上使用两个服务/协议

我今天遇到了一个问题。我正在运行一个带有 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。

相关内容