![我更换了 ISP,现在我的网站无法通过 www 访问,但 HTTP 可以](https://linux22.com/image/647406/%E6%88%91%E6%9B%B4%E6%8D%A2%E4%BA%86%20ISP%EF%BC%8C%E7%8E%B0%E5%9C%A8%E6%88%91%E7%9A%84%E7%BD%91%E7%AB%99%E6%97%A0%E6%B3%95%E9%80%9A%E8%BF%87%20www%20%E8%AE%BF%E9%97%AE%EF%BC%8C%E4%BD%86%20HTTP%20%E5%8F%AF%E4%BB%A5.png)
我继承了一家公司的 IT 职位,因此我不了解最初的配置。我们最近更换了 ISP(几个月前)。我们的域名由 Network Solutions 托管,他们的 A 记录已更新。
设置如下:
我们有三台服务器
- 域控制器(服务器 2008r2)
- 在服务器 2008r2 上运行的 Exchange 2010
- NAV 在服务器 2008r2 上运行
该网站位于 Exchange 服务器上。
我已将域名主机上的 A 记录(包括 www)更新为 Cox 分配给我们的静态 IP 地址24.255.xxx.xxx
。邮件和其他一切都运行正常。也就是说,除了我们的网站使用 www.xxxxxx.com(出现 404 错误)之外,其他一切都运行正常http://xxxxxx.com
。
当我在网络外 ping 时,www.xxxxxx.com
我得到了 Cox 给我们的 IP 地址。当我执行 NSLOOKUP 时,我得到了 Cox DNS 服务器的 IP 地址68.105.xxx.xxx
。如果我在网络上执行相同的步骤,我会得到一个本地 IP 地址192.168.xxx.xxx
(NSLOOKUP 上的结果相同)。
我感到很困惑,并尝试了在本网站和其他许多网站上找到的所有方法。
答案1
您的内部网络的 DNS 配置是什么样的?
您的本地服务器似乎正在为 Web 服务器提供一个内部地址,这对于在发夹 NAT 场景中访问 Web 服务器是必要的;该网站以前是否托管在网络内部?
你应该:
- 确定在网络内部时需要使用哪个地址才能成功连接到 Web 服务器 - 听起来应该使用公共地址。
- 通过 hosts 文件验证该地址在解析为该名称时是否按预期工作
- 更新您的内部 DNS 配置,以便返回针对该名称的查询的正确地址
答案2
我感觉这是 IIS 中的主机头问题。但我稍后会讲到,现在这里有一个通用的故障排除指南供您遵循:
- 如果您使用面向互联网的 DNS 服务器并尝试解析 www.xxxxxx.com 和 xxxxxx.com,请确保它们都转发到您公司的正确静态 IP 地址。
- 如果您使用的是面向 LAN 的 DNS 服务器,请确保上述相同的记录解析为您的 Web 服务器的内部 IP 地址(在您的情况下为交换服务器)
- 如果您使用应用程序级防火墙,请确保允许 www.xxxxxx.com 和 xxxxxx.com 进入并可以路由到内部 IIS 服务器。这取决于您的防火墙类型。
- 确保您的 IIS 中的公司网站具有 www.xxxxxx.com 和 xxxxxx.com 的主机标头,这是必要的,以便让提到域名的传入请求转到正确的站点,因为您在 IIS 中使用多个站点,更多信息可以在这里找到:http://technet.microsoft.com/en-us/library/cc753195(v=ws.10).aspx
希望这可以帮助。