不同的主机(不是ip)可以从外部转发到同一个端口吗?

时间:2013-07-27 05:45:11

标签: sockets tcp communication portforwarding

我只是想知道,2个或更多不同的外部主机名/ DNS可以重定向到多个本地服务器但是同一个端口?

我们看一下,我有2个DNS互联网域名,myserver1.com和myserver2.com,我和转发的服务器IP都有相同的A记录(例如:102.123.123.123)。在我的服务器下只有102.123.123.123 IP地址有2个应用服务器,但我没有尝试使它们工作,我为每个服务器应用程序使用不同的端口为例,serverApp1监听0.0.0.0:2010,serverApp2监听0.0。 0.0:2020

我的观点是,有什么办法或如何将myserver1.com:2000转发到serverApp1(端口2010),myserver2.com:2000转发到serverApp2(端口2020),但myserver1.com和myserver2.com都有同一个A记录?

我非常确定它是在iptables或/ etc / hosts还是BIND问题,但如果我错过了某些东西,请引导我。顺便说一句,服务器和DNS记录可以从互联网访问,这是防火墙配置正确。感谢。

2 个答案:

答案 0 :(得分:0)

我没有太多经验,但我认为您需要第三台服务器/防火墙/代理来监听传入的主机并相应地路由它。

同样,我没有太多的经验,所以我不确定防火墙是否能够做到这一点。

答案 1 :(得分:0)

我认为你可以使用像apache这样的重定向服务器。

在我的应用程序中,我们希望从Internet访问许多内部网服务器。所以我们做了什么,我们用httpd。

中的所有映射配置了一个apache

因此,当对apache的请求到来时,它将被适当地重定向。

例如 - 我在Intranet中有两个服务器或主机名:1)abc.com:7300/context1 2)xyz.com:8900/context2

我们配置了一个主机名为abcxyz.com:9000的apache。当一个请求喜欢 abcxyz.com:9000/context1来了它将被重定向到abc.com:7300/context1,当一个像abcxyz.com:9000/context2这样的请求到来时,它会被重定向到xyz.com:8900/context2。

在您的情况下,由于请求通过单个服务器(102.123.123.123),您可以使用重定向。

希望它有所帮助。