我能否将流量从外部子域转发到特定的本地主机?

我能否将流量从外部子域转发到特定的本地主机?

如果问题没有意义,我提前道歉,请告诉我。

我有一个小型局域网(约 10 个虚拟服务器),使用 Win Server 2008 作为 DNS 服务器。它位于 Smoothwall Express 3.0 防火墙后面,端口已转发以用于特定服务。我有一个域(123-reg),其 NS 为 afraid.org(动态 DNS),子域指向我的(动态) IP 地址,例如

subdomain1.example.com -> 123.456.789.101。

我认为这充分解释了我的设置。

我的问题是,我能否让子域名(例如 subdomain1.example.com)仅指向特定的本地主机?就像这样:

subdomain1.example.com:80 -> 防火墙(面向外部) -> server1.example.com:80
subdomain2.example.com:80 -> 防火墙(面向外部) -> server2.example.com:80

我实际上不一定想使用端口 80,否则我只会在 apache 上使用 VirtualHosts,它只是一个示例端口。

目前我可以使用 subdomain1.example.com 或 subdomain2.example.com,它们都将指向 server1.example.com:80

我不需要继续使用 Win Server 2008 的 DNS,如果需要的话,我非常乐意转到 BIND,使用 Win Server 2008 的 DNS 更容易。

我不知道这是否可能,我感觉这是不可能的,因为我只有一个外部 IP 地址,但任何信息都是有用的!

答案1

在一般情况下,这是不可能的,但你可以针对 HTTP 流量的特定情况使用反向代理

原因是 IP 数据包中通常没有可识别您尝试访问的子域的信息,因此路由器不知道应该将您的数据包转发到哪台机器。

对于 HTTP(v1.1),这是有效的,因为它在请求中包含请求的域名。

相关内容