![在 URL 中使用计算机名称时,Web 应用程序将无法解析](https://linux22.com/image/546595/%E5%9C%A8%20URL%20%E4%B8%AD%E4%BD%BF%E7%94%A8%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%90%8D%E7%A7%B0%E6%97%B6%EF%BC%8CWeb%20%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%E5%B0%86%E6%97%A0%E6%B3%95%E8%A7%A3%E6%9E%90.png)
我运行的是 Windows Server 2008 和 IIS7。该服务器上有一个第三方 RIA(Silverlight 3.0)应用程序。当我在计算机上时,我可以通过以下方式访问该应用程序http://localhost/MyAppRIA一切正常。当我尝试通过 http://{Machine Name}/MyAppRIA 访问它时,我得到一个空白页,左上角有一个 Silverlight 下载图形。
为什么我无法使用计算机名称访问应用程序。我的 DNS 或 IIS 配置错误吗?
答案1
这是来自 IIS 中的绑定。如果您 ping localhost(它将是 127.0.0.1)和 {Machine Name},它们将是不同的 IP。请确保为要绑定到的站点添加计算机名称 IP(以及可选的主机标头)的绑定。
这是一个视频我整理了一些您可能会觉得有用的 IIS 绑定。
答案2
使用浏览器的“查看源代码”命令检查 HTML。我敢打赌,该应用程序以某种方式将“localhost”硬编码到路径中,因此当您从另一台机器查看它时,它无法下载所需的资产。
答案3
不要。如果它可以在客户端机器上运行,那就足够了。
答案4
假设绑定正确(Scott Forsyth 的回答提供了一些很好的信息),您可能会遇到臭名昭著的环回检查。请查看以下文章:
http://support.microsoft.com/kb/896861
具体来说,请查看“方法 2:禁用环回检查(不推荐的方法)”。很多时候,这种简单的注册表设置可能会导致一些大麻烦。