![如何将子域名重定向至内部 IP?](https://linux22.com/image/1299828/%E5%A6%82%E4%BD%95%E5%B0%86%E5%AD%90%E5%9F%9F%E5%90%8D%E9%87%8D%E5%AE%9A%E5%90%91%E8%87%B3%E5%86%85%E9%83%A8%20IP%EF%BC%9F.png)
我有一个 FQDN,假设abc.com.
只有一个外部 IP,并且我使用zoneedit.com ns
服务器。
我已配置www
为CNAME
。abc.com
Web 服务器在本地计算机上使用 IIS 设置。我想要做的是将 abc.com 的子域 xyz 重定向到本地 PC 上的 192.168.1.120,但可以从 Web 访问,例如http://xyz.abc.com/。
我该如何让它工作?
我尝试在 IIS 中设置标头,例如www.abc.com
端口80 192.168.104
(这是 Web 服务器的 IP)和xyz.abc.com
端口80 192.168.120
(不是 Web 服务器的其他服务器)。
答案1
本地地址(如192.168.*.*
)不允许在互联网上使用。它们由您的本地路由器管理并在那里进行转换。
如果您只有一个公共 IP,则两个子域都需要具有相同的 IP。并非所有流量都标记为来自某个域(HTTP 流量但几乎总是如此)。
但是您可以使用 NAT 转发。它由路由器完成并转发端口。您可以将到端口 80 的流量转发到 192.168.1.104,并将所有其他流量转发到 192.168.1.120,但 xyz.abc.com:80 和 www.abc.com:80 将被解析,your.public.IP.addresss:80
您的路由器将无法区分。
答案2
使用 Apache,您可以设置所谓的虚拟主机。Web 服务器将看到所请求的 sub.domain,然后您可以根据请求执行所需的操作。反向代理配置可以将该 sub.domain 请求发送到不同的内部 IP 地址。
我只在 Apache 上设置过此功能,但我确信 IIS 中也有相同的功能。无论如何,Reverse Proxy
这都是您要找的。
答案3
不,根本没办法解决这个问题。你可以在防火墙中对特定机器进行端口重定向,但外部 DNS 服务器不允许LAN IP。
为什么你还是想这么做?
此外,如果您无法控制您的 WAN IP 的 PTR 条目,您就无能为力。