我在 IIS 7 中设置了一个 Web 应用程序,并配置了 Windows 身份验证。我可以通过任何其他计算机的完全限定 URL 对该计算机进行身份验证,并且它使用正确的域。但是,当我尝试通过完全限定域(在另一个服务中,或者只是通过 IE 中的 URL)从计算机本身连接到计算机时,Windows 登录提示会尝试强制使用计算机作为域,而不是正确的登录域。尝试使用domain\username
或指定域[email protected]
失败。
localhost
我应该注意,通过机器查看 Web 应用程序是可行的,但site.company.com/webservice
在本地机器上使用完整样式 URL 不起作用,因为登录域错误。我该怎么做才能让它使用正确的登录域?
答案1
我也尝试做同样的事情。使用 FQDN 访问本地 IIS 上的网站,但 IIS 不断告知要访问的位置。
无论如何,根据我的挖掘,您必须禁用本地 IIS 网站的环回检查。
请参阅以下内容Microsoft 支持页面。
如果页面丢失,我会执行以下操作(这是他在上面的博客文章中建议的)
- 在运行下输入 regedit 打开注册表编辑器。
- 导航到 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0
- 右键单击 MSV1_0,然后单击新建并选择使其成为多字符串值。
- 输入 BackConnectionHostNames 作为条目的名称,然后双击它进行修改。
- 输入您需要使用的主机名(例如code-journey.com)。
- 重新启动 IISAdmin 服务(“开始” -> “管理工具” -> “服务”)
希望这可以帮助。
雙重..
答案2
这是由于称为 LoopbackCheck 的安全功能所致。
安装 Windows Server 2003 Service Pack 1 后,尝试使用服务器的 FQDN 或 CNAME 别名本地访问服务器时出现错误消息:“访问被拒绝”或“没有网络提供商接受给定的网络路径”
http://support.microsoft.com/kb/926642
有两种解决方法:
方法 1(推荐):创建可在 NTLM 身份验证请求中引用的本地安全机构主机名。为此,请对客户端计算机上的所有节点执行以下步骤:
- 单击“开始”,单击“运行”,键入 regedit,然后单击“确定”。
- 找到并单击以下注册表子项: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0
- 右键单击“MSV1_0”,指向“新建”,然后单击“多字符串值”。
- 在“名称”列中,键入 BackConnectionHostNames,然后按 ENTER。
- 右键单击“BackConnectionHostNames”,然后单击“修改”。
在“数值数据”框中,键入用于计算机上的本地共享的 CNAME 或 DNS 别名,然后单击“确定”。
注意:在单独的行中键入每个主机名。
注意:如果 BackConnectionHostNames 注册表项以 REG_DWORD 类型存在,则必须删除 BackConnectionHostNames 注册表项。
退出注册表编辑器,然后重新启动计算机。
方法 2:通过将 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa 注册表子项中的 DisableLoopbackCheck 注册表项设置为 1,禁用身份验证环回检查。要将 DisableLoopbackCheck 注册表项设置为 1,请在客户端计算机上执行以下步骤:
- 单击“开始”,单击“运行”,键入 regedit,然后单击“确定”。
- 找到并单击以下注册表子项: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa
- 右键单击“Lsa”,指向“新建”,然后单击“DWORD 值”。
- 键入 DisableLoopbackCheck,然后按 ENTER。
- 右键单击“DisableLoopbackCheck”,然后单击“修改”。
- 在数值数据框中,键入 1,然后单击确定。
- 退出注册表编辑器。
- 重新启动计算机。
答案3
根据设置 SSO 的一些经验,我可以告诉您,只有当站点和客户端位于 Intranet 上,或者站点位于受信任区域时,IE 才会自动传递 Kerberos 票证进行登录。如果 IE 看到http://site.company.com/webservice它将假定该网站位于互联网上并且不会传递登录凭据。
此链接中有一些有关 IIS、IE 和 Kerberos 的有用信息。 http://blogs.msdn.com/b/friis/archive/2009/12/31/things-to-check-when-kerberos-authentication-fails-using-iis-ie.aspx
我们发现,允许在内联网上使用 FQDN 的两种方法是向 Web 服务器提供证书并使用 SSL,或者将其添加到受信任区域。
希望这对您的设置有所帮助。