我有一台 Windows Server 2008 机器,它有两个静态 IP 地址(192.168.xxx.120 和 192.168.xxx.118),运行 IIS7,托管约 30 个网站。
网络上的 DNS 服务器配置为将网站流量指向 192.168.xxx.120。公共 DNS 解析由大楼外的一些第三方完成。
在网络日志中,我注意到实际记录的地址是 192.168.xxx.118,即不是 DNS 指向的地址。
这是怎么回事?我该如何让网站使用 DNS 记录指向的地址?对于 SSL 证书解析来说,正确的 IP 地址对我来说很重要。
克里斯宾
编辑:我很抱歉,因为我最初写的是 Windows Server 2003,但那是错的,应该是 Windows Server 2008。我的网络上同时安装了这两者。
答案1
听起来 DNS 并没有指向您认为的位置。当您将网站绑定到特定 IP 时,您所描述的行为似乎模糊地证实了这一点。
如果只是一组客户端,例如使用外部 DNS 的外部客户端,那么他们的连接很可能是经过 NAT(转换)的,而且从 publicname.example.com 到内部地址的外部端口 80 映射可能不是您认为的那样。
要正确排除故障,请使用 Wireshark 或 Network Monitor 等工具,并捕获一些流量。您可以从客户端或服务器执行此操作,也可以同时执行此操作(两者同时执行此操作可以最大程度地覆盖客户端认为正在发生的事情以及服务器同时看到的事情,这取决于网络设备,并不总是同一件事。)
您将看到传入和传出数据包使用的源 IP 地址和目标 IP 地址。
如果客户端将名称解析为 IP 地址,它就会连接到该 IP 地址。几乎没有办法可以解决这个问题。
在出现问题的其中一台客户端机器上,快速运行 PING www.example.com 以查看其对该 IP 地址的初步印象。
答案2
听起来您需要将站点绑定到要使用的 IP。如果您在 IIS 管理器中右键单击站点并转到属性,应该会有一个 IP 地址部分。默认情况下,它设置为“所有未分配”,这意味着该站点托管在所有可用的适配器上。如果设置了该选项,您可以单击“高级”并添加一个标识以将其绑定到特定的接口和端口。
另外,我很确定您正在运行 IIS6。IIS7 不适用于 Windows Server 2003。