抱歉的标题,但即时通讯服务器configuration这样的新手。 我有一个问题(当然),我会尽我所能解释给你:
我的问题是,networking服务器需要redirect连接从端口80到8080,所以我的ruby开发人员(不是我,我吸入ruby)做了一个redirect
iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080
作为一个前因,我的网站当然不在80港口工作。 我的问题:是否有办法告诉iptablesredirect端口80只有连接有关的ruby服务器(所以,第一个域?)我不能改变服务器的端口,所以你如何build议我为了使用80的网站? 对于愚蠢的问题抱歉,但我完全吮吸在这。 我忘了提及,我不再与ruby开发者联系,所以这使得事情对我来说更为戏剧化:)
提前致谢
如果你同时服务于同一个IP的两个域,你不能通过端口转发来做到这一点,因为iptables无法知道客户端试图连接到哪个域。 您的服务器不参与DNS查找,并且在TCP连接build立之前,客户端不会发送HTTP Host:标头。
但是,您可以执行的操作是使用Apache的mod_proxy设置一个将HTTP请求中继到Ruby服务器的反向代理 。 这个配方显示了:
<VirtualHost *:*> ProxyPreserveHost On ProxyPass / http://localhost:8080/ ProxyPassReverse / http://localhost:8080/ ServerName your.ruby.site </VirtualHost>
通过这种configuration,访问Ruby站点的人将不会连接到Ruby服务器,他们将连接到Apache。 但是Apache将通过从Ruby服务器请求它们来提供页面,所以结果基本相同。