出于测试目的,我为 IIS6 服务器设置了一个 nginx 反向代理,这工作正常。
但是当我尝试在 IIS6 网站上使用“Windows 身份验证”时,浏览器身份验证输入没有出现。
经过一番阅读,我发现很明显:) nginx 还不支持 HTTP/1.1 的反向代理!
我的问题:有没有人知道这种类型的请求的“解决方法”?
谢谢
出于测试目的,我为 IIS6 服务器设置了一个 nginx 反向代理,这工作正常。
但是当我尝试在 IIS6 网站上使用“Windows 身份验证”时,浏览器身份验证输入没有出现。
经过一番阅读,我发现很明显:) nginx 还不支持 HTTP/1.1 的反向代理!
我的问题:有没有人知道这种类型的请求的“解决方法”?
谢谢
我在这里的测试环境中部分地得到了这个工作。
背景
我们有 IIS6 服务于我们的 Intranet CMS(CMS 是一个 ISAPI 插件)。这与 IIS 中的站点设置有关,用于集成 Windows 身份验证(用于安全性和用户个性化)。
我想启用 gzip 压缩,但由于我们在 CMS 中启用了一些功能,我们无法通过 IIS 的 gzip 设置来执行此操作(如果我们这样做,它会在每次向 CMS 发出请求时崩溃)。
因此,我目前正在测试一个在 IIS 前面使用 nginx 反向代理进行内容 gzip 压缩的设置。
什么有效/什么无效?
通过此设置进行的 IE6/7 身份验证仍然可以正常工作,我无需进行任何更改。
然而,Firefox 需要改变。之前,在没有 nginx 的情况下,Firefox 已经
network.automatic-ntlm-auth.trusted-uris
设置为允许我们的 Intranet 服务器进行透明的 NTLM 身份验证。一旦 nginx 成为组合的一部分,您就会反复显示站点登录框,并且您的凭据将永远不会被接受。但是,添加 Intranet 服务器来network.negotiate-auth.trusted-uris
解决此问题(适用于 Windows 上的 Firefox,但不适用于 OS X)。看来认证方法可能略有变化?以前允许 NTLM 身份验证工作正常的地方现在似乎在做 SPENGO?所以 IIS6 前面 nginx 的现状给我留下了:
作品
不起作用(凭证从未被接受)
猜测为什么我的(部分)有效而您的无效...可能对于代理我的配置中但您的配置中缺少的身份验证握手至关重要?比如转发真实客户端IP?如果您想尝试一下,我的 nginx 配置的相关服务器部分如下所示。
我可以让它工作的唯一方法是使用基本身份验证并等待 igor 完成下一个版本。下一个版本将解决这个问题(希望如此)