当请求来自我的 LAN 外部时,IIS 从 http 请求中删除授权 header

IIS removes Authorization header from the http request, when the request is from outside my LAN

我在 Windows Server 2008 R2 上安装了 IIS 7.5。它启用了基本、匿名和 Windows 身份验证模式。我在其中托管了一个 restful WCF 服务。

我在 LAN/VPN 中使用 Authorization header 向我的客户发出了一个 http 请求,一切顺利。在服务方面,我可以看到 OperationContext.Current.IncomingMessageHeaders 包含具有正确值的 Authorization header。

当我尝试从 LAN/VPN 外部执行相同操作时(我使用了不同的互联网连接以及 public 代理),OperationContext.Current.IncomingMessageHeaders 似乎缺少 授权 header.

我不确定究竟是什么删除了 header。我怀疑 IIS 配置错误。有什么线索吗?

如果您希望您的服务始终按照问题的建议进行 windows 身份验证,请删除禁用 IIS 中的所有其他身份验证模式,来自 LAN 的请求正在通过可能是因为请求它的人来自同一域, 在 Internet 中(简单地说)将采用最少需要的身份验证模式,在这种情况下将是匿名的。