不允许 IIS 摘要式身份验证通过-尽管身份验证请求通过代理服务器路由的

重要说明:本文是由 Microsoft 机器翻译软件进行的翻译并可能由 Microsoft 社区通过社区翻译机构(CTF)技术进行后期编辑,或可能是由人工进行的翻译。Microsoft 同时向您提供机器翻译、人工翻译及社区后期编辑的文章,以便对我们知识库中的所有文章以多种语言提供访问。翻译的文章可能存在词汇、句法和/或语法方面的错误。Microsoft 对由于内容的误译或客户对内容的使用所导致的任何不准确、错误或损失不承担责任。

点击这里察看该文章的英文版: 3050055
症状
请考虑下面的方案:
  • 配置 Internet Information Services (IIS) 使用摘要式身份验证。
  • 服务器收到的请求中有 通过HTTP 标头。(出现这种情况如果客户端请求通过代理服务器路由。)
  • 摘要式身份验证受请求的资源。
  • 在 IIS 管道中创建的子请求。如为目录的默认文档发送一个请求并发送的 URL 有一个斜杠 (/) 作为最后一个字符。
在此情况下将失败摘要式身份验证,并且服务器返回 401 响应。
原因
通过代理服务器进行路由的请求以及在 IIS 管道中被创建的子请求的 IIS 不能信任出于安全原因的摘要式身份验证。
替代方法
我们建议通过配置为使用一种不同的身份验证的网站来解决此问题。如您可以通过使用 Windows 身份验证或基本身份验证通过传输层安全 (TLS) 配置网站。如果能请来应使用一个或多个下列方法:
  • 具有使用后最后一个包含文件名称的请求 URL 的客户端"/"字符。
  • 应用程序池的托管的管道模式设置为经典
  • 使用 URL 重写模块 若要重写的 URL 路径到从"/""/文件名>."

    使用 URL 重写模块来变通解决此问题、 模块按如下配置:

    ----------
    system.webServer>        <rewrite>            <rules>                <rule name="<a rule name>" enabled="false">                    <match url="(^$|.*/$)" />                    <action type="Rewrite" url="{R:0}<a file name that you want the users to access>" />                </rule>            </rules>        </rewrite></system.webServer>
    ----------
状态
Microsoft 已经确认这是"适用于"一节中列出的 Microsoft 产品中的故障。

属性

文章 ID:3050055 - 上次审阅时间:06/13/2015 11:42:00 - 修订版本: 2.0

Microsoft Internet Information Services 8.5, Microsoft Internet Information Services 8.0, Microsoft Internet Information Services 7.5

  • kbmt KB3050055 KbMtzh
反馈