![使用主机名访问时,IIS 会要求输入登录名/密码,但使用“localhost”时则不会。为什么?](https://linux22.com/image/510004/%E4%BD%BF%E7%94%A8%E4%B8%BB%E6%9C%BA%E5%90%8D%E8%AE%BF%E9%97%AE%E6%97%B6%EF%BC%8CIIS%20%E4%BC%9A%E8%A6%81%E6%B1%82%E8%BE%93%E5%85%A5%E7%99%BB%E5%BD%95%E5%90%8D%2F%E5%AF%86%E7%A0%81%EF%BC%8C%E4%BD%86%E4%BD%BF%E7%94%A8%E2%80%9Clocalhost%E2%80%9D%E6%97%B6%E5%88%99%E4%B8%8D%E4%BC%9A%E3%80%82%E4%B8%BA%E4%BB%80%E4%B9%88%EF%BC%9F.png)
我已经在 xp 计算机上安装了 IIS,并设置了默认主页(安装 IIS 时自带的)。我认为它是一个帮助页面。
当我使用以下方式访问页面时http://本地主机它工作正常(IE/Chrome 或 FF),但当我使用http://主机名它会提示登录/密码,当我在内联网上输入我的域名 ID 和密码时它就会起作用。
我已确保在默认站点和“网站”节点的属性窗口启用了“匿名访问”。
我在 Stack Overflow 中搜索了类似的查询,但有些表明我需要更改 IE/FF 设置以允许“集成安全”等,有些建议查看“日志文件”。
我不想更改 IE 设置,并且 IIS 服务器的日志文件中没有任何异常。
有人能帮我找出为什么会发生这种情况吗?
谢谢你
答案1
您应该查看您的 IIS 保护配置。
尽管看起来您正在连接到同一个系统,但使用 IIS 服务器上的浏览器中的“localhost”,您实际上连接到的是 127.0.0.1。
当您连接到http://主机名来自另一个系统的 URL,您正在连接到系统的外部 IP 地址。
1. 客户端请求服务器上的资源。
2. 检查客户端的 IP 地址是否符合 IIS 中的 IP 地址限制。如果 IP 地址被拒绝访问,则请求失败,并向用户返回 403 访问被禁止消息。
3. 如果配置为需要身份验证,服务器将向客户端请求身份验证信息。浏览器要么提示用户输入用户名和密码,要么自动提供此信息。
答案2
您需要添加http://主机名在 Internet Explorer 中,本地内联网的安全性。
步骤:- 转到 IE --> 工具 --> Internet 选项 --> 安全 --> 本地 Intranet --> 站点并添加
答案3
- 添加管理员用户和密码
- 转到 wwwroot 属性
- 授予此用户对此文件夹及其子文件夹的完全访问权限
- 使用本文将AppPool的用户更改为添加的用户 http://technet.microsoft.com/en-us/library/cc771170(v=ws.10).aspx
- 使用此文章更改网站的用户 http://techblog.sunsetsurf.co.uk/2010/07/changing-the-user-iis-runs-as-windows-2008-iis-7-5/ 输入您在步骤(1)中创建的相同用户名和密码。
恭喜,现在可以正常工作