繁体   English   中英

如何在本地计算机上的 IIS 中访问配置了主机标头的网站?

[英]How can I access a website configured with host headers in IIS on the local machine?

当使用主机头在 IIS 中的同一 IP 地址上托管多个网站时,有没有办法从本地机器上运行的浏览器访问该网站?

当给定的 Web 组件只允许从本地机器进行配置时,这通常是必需的。 当 ASP.Net 的内置错误处理功能不起作用并且您只能在浏览器中查看错误但不想让远程用户看到它时,它也很有用。

这让我困惑了一段时间,每次遇到它我都会沮丧地放弃并重新配置东西,这样我就可以远程完成这些任务。

补充: @Ishmaeel - 修改主机似乎没有帮助 - 您要么收到 400 错误(如果所有网站都有主机标头),要么在没有主机标头的情况下配置任何站点。

只是一个想法:将主机名映射到主机 ($WINDOWS$\\system32\\drivers\\etc) 文件中的 127.0.0.1 可能会有所帮助。 通过这种方式,您应该能够通过键入主机名来启动本地 IIS 站点,就好像它是远程服务器一样

您可以尝试 telnet 到服务器。

$ telnet localhost 80

(手动输入这些行)

GET / HTTP/1.1
Host: www.example.com

(将 www.example.com 交换为您的服务器映射到的主机名)

eed3si9n - 如果您尝试在本地访问 url 并且使用主机头,则不能只输入 url:例如,您在 1 个使用主机头的服务器上有 2 个网站 (website1.com website2.com)。 Web 服务器的本地 IP 是 192.168.1.50 --> 如果您输入 192.168.1.50,您将得到“找不到页面”。 如果您输入网址 website1.com 或 website2.com,您将从外部(而非本地)访问这些网站。

所以问题是如何在本地而不是从外部访问站点——例如,我需要这种能力,以便我可以在本地访问,因为测试站点仅在本地可用。 不是从外面...

也许我不明白这个问题,但是只输入网站的 URL 有什么问题? 如果是域名解析的问题,你可以指向正确的DNS或将其放在hosts文件中。

我认为您可以执行此操作的唯一方法是将自定义端口分配给您要监视的特定网站,并以“localhost:CustomPort”的形式访问它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM