如果问题没有意义,我提前道歉,请告诉我。
我有一个小型局域网(约 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),这是有效的,因为它在请求中包含请求的域名。