具有不同外部端口的NAT后面的http Web服务器的DNS记录

时间:2014-11-30 00:33:29

标签: http dns port nat srv

所以基本上。 我有一个外部IP 我在内部网络上运行的Web服务器很少 所有Web服务器都在NAT中配置,具有不同的端口(80,81,82,...)
我的域的DNS是在我的外部IP上配置的。 NAT将它转发到我的第一个Web服务器。

直到现在,当我打开我的域名时,让我们说一下example.com,它会打开我的第一个网络服务器页面。
当我打开example.com:81时,它会打开第二台服务器等。

我想要实现的是在不指定端口的情况下在不同子域上打开其他Web服务器的某种方式。

所以我希望有类似的东西:
second.example.com - > example.com:81
third.example.com - > example.com:82

我正在为TeamSpeak3服务器使用SRV记录,因此我的TS3在端口2222上运行,而SRV记录将我的ts3.example.com转换为example.com:2222,它就像魅力一样。

这些子域是否可以通过DNS中的SRV记录进行配置?

如果不能。还有其他办法吗?

由于

1 个答案:

答案 0 :(得分:0)

由于您位于NAT后面,因此所有Web服务器都共享相同的端点。您需要设置虚拟主机,以根据HTTP数据包中传递的域信息解析所有请求。然后,承载这些虚拟主机的服务器将解析传入的数据包,并根据域名解析将请求分发到相应的虚拟主机。

Apache通过name-based virtual hosts的实现很容易实现这一点。

IIS有一个解决方案以及此stack overflow answer points to.

祝你好运!