![IIS 网站(.asmx 服务应用程序)只能通过 IP 访问,而不能通过域名/主机名访问](https://linux22.com/image/682177/IIS%20%E7%BD%91%E7%AB%99%EF%BC%88.asmx%20%E6%9C%8D%E5%8A%A1%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%EF%BC%89%E5%8F%AA%E8%83%BD%E9%80%9A%E8%BF%87%20IP%20%E8%AE%BF%E9%97%AE%EF%BC%8C%E8%80%8C%E4%B8%8D%E8%83%BD%E9%80%9A%E8%BF%87%E5%9F%9F%E5%90%8D%2F%E4%B8%BB%E6%9C%BA%E5%90%8D%E8%AE%BF%E9%97%AE.png)
我有一台安装了 IIS 8 的 Windows Server 2012。我只配置了一个网站,即默认网站。它包含一个配置如下的应用程序:
- 物理路径指向应用程序目录,其中我有一个 web.config 和一个 Service.asmx 文件
- 应用程序的虚拟路径设置为/service
使用此配置,我的应用程序可以通过以下地址加载:127.9.9.9/service/Service.asmx(假设 127.9.9.9 是我的 Windows 服务器的 IP)。这在 Windows 服务器本地以及外部机器上均可运行。到目前为止一切顺利。
但现在我想让应用程序可以通过域名访问,因为显然这是比通过 IP 更好、更常见的解决方案。因此,我在 IIS 中为我的默认网站添加了一个绑定,主机名为 mydomain.com。我将其他绑定设置保留为默认设置,即绑定在端口 80 和任何 IP 地址上均可工作。
配置绑定后,现在也可以通过 mydomain.com/service/Service.asmx 访问该应用程序,但只能在 Windows 服务器本地访问!从外部计算机调用此 URL 时,我只收到“未找到站点”的提示。当然,mydomain.com 重定向到 Windows 服务器,即 IP 127.9.9.9。当仅调用“mydomain.com”时,它会成功重定向到 Windows 服务器,然后我就可以看到标准的 IIS 欢迎屏幕。但是,当尝试访问应用程序(mydomain.com/service/Service.asmx”)时,它就会失败,正如刚才所说的那样。
经过一番研究,我发现这似乎是 DNS 问题。因此,按照教程,我配置了一个正向查找区域,将主机名 mydomain.com 映射到应用服务器的 IP。请注意,这不是 127.9.9.9,应用服务器有不同的 IP!但据我所知,应该这样配置吗?此外,我为该 IP 添加了一个反向查找区域。由于它仍然不起作用,我甚至摆弄了 Windows 服务器的网络适配器,并将应用服务器的 IP 添加到 DNS IP 列表的顶部。但它仍然不起作用。
恐怕我不太了解 DNS 部分。也许 mydomain.com 的配置中缺少了某些东西?正如我所说,我配置了从主机名到 Windows 服务器 IP 的重定向(“MX”)。我不明白为什么 mydomain.com 可以成功将我引导到 Windows Server 起始页,但找不到 mydomain.com/service/Service.asmx。
谢谢你!