所有域用户都可以访问本地网络上的 Web 应用程序,但由于某种原因托管该应用程序的服务器除外。 以下是帮助我们开始的一些统计数据和错误详细信息,但如果您需要了解数据以提供帮助,请提出任何问题。 预先感谢,这是信息:
错误类型: HTTP 错误 401.1 - 未经授权 您无权使用您提供的凭据查看此目录或页面。
登录方式尚未确定 登录用户尚未确定
所有这一切中最奇怪的部分是服务器登录到管理级别帐户,因此默认情况下应该具有访问权限,因此它阻止它的事实很奇怪。 我能想到的唯一其他元素是我正在使用远程桌面连接来访问服务器,我想知道这是否以某种方式掩盖了 IIS 的身份验证凭据或类似的东西?
服务器配置为进行 Windows 身份验证(应该已经完成,否则您还无法进入计算机,更不用说网络了)
它设置为使用 Negotiate 和 NTLM 作为最后的手段。 工作系统似乎都使用 Negotiate 很好。 问题是,当您导航到该页面时,服务器会弹出基于 Windows 的用户登录凭据检查,其中 .. 它已经在网络上,并且是同一域的一部分 .. 所以它非常好奇。
问题 - 我在这里看到了什么,本地网络上的外部系统可以连接到 Web 资源,但托管它的服务器却不能?
(之前它在没有域要求的情况下工作得很好,我们只是想开始使用它,现在除了托管它的系统之外,它一切正常,这似乎是一个悖论,除非它与远程桌面的 KERBOS 问题有关可能吗?)
已经尝试过: 编辑 Windows 身份验证的 IIS 身份验证“高级设置”以禁用扩展保护和内核模式身份验证 (它必须打开才能让其他人连接,所以不能禁用它)
编辑 IIS 身份验证“提供程序”以将 NTLM 移至协商之上。 (没有变化)
Windows 身份验证在本地 IIS 7.5 上不起作用。错误 401.1
我通过向我的网站添加一个新的绑定来解决这个问题,没有指定的主机名和不同的端口(因为我使用的是 localhost:80)。当我尝试从 http://localhost:86/mypage 调用它时,它就起作用了。在浏览器中快速检查后,我使用 cURL 测试了几次,它正确地接受并拒绝了我的凭据。
更新 - 只是更新以提及为什么这个问题有用以及如何得到这个错误。 如果您直接从服务器登录自己的应用程序,而不是从另一台计算机登录,则会抛出此错误,并且您必须使用此备用端口才能使其正常工作。