我正在使用 Apache 2.2 来访问配置为使用 NTML 的 Microsoft Team Foundation Server 2015。
为此,我的配置如下:
ProxyPreserveHost On
ProxyPass /tfs/ http://tfs2015.mdlp.es:8080/tfs/
ProxyPassReverse /tfs/ http://tfs2015.mdlp.es/tfs/
显然,当只有一个用户时,此配置工作得很好。当第二个用户连接时,它会显示为先前登录的用户。
我猜这是因为 apache 针对后端服务器维护了连接池,就像 TFS 一样,一旦此保持活动连接上的用户通过身份验证,它就会依赖第一个请求来了解用户。至于 apache 会将所有请求转发到已创建的池,这会将用户会话混合在同一个保持活动连接中。
此时我尝试在 ProxyPass 上使用 disablereuse=On 指令以避免使用连接池,但这样 NTLM 身份验证就不起作用了。
只是想知道是否有人能够解决这个问题,这可能与 Team Foundation 不是 100% 相关,而是与 IIS 相关。
编辑:
就我在相同的反向代理上安装的 apache 2.0 而言,我尝试以相同的方式配置它们,并且它工作正常。那么有没有办法限制 apache 2.2 上的 proxypass 功能,使其像 apache 2.0 一样运行?