http - 反向代理受 NTLM 保护的网站

标签 http sharepoint tfs reverse-proxy haproxy

如何将请求代理到受 NTLM 保护的网站,例如 TeamFoundationSharePoint?我一直收到 401 身份验证错误

最佳答案

根据 this Microsoft TechNet article ,你不能。

Microsoft NTLM 使用状态 HTTP,这违反了 HTTP/1.1 RFC。它依赖于身份验证(涉及握手和几个初始 401 错误的事件)和后续连接到通过从客户端到服务器的完全相同的连接来完成。这使得 HTTP 代理几乎不可能,因为每个请求通常会通过从开放连接池中挑选的新连接或随机连接。不过这是可以做到的。

NGiNX 显然通过“ntlm”选项支持这一点,但这是他们商业产品的一部分。 Apache HTTPD 似乎为此提供了几个实验性补丁,但这需要重建 Apache。 TinyProxy 也不支持这个。 HAProxy 助您一臂之力!

这是一个有效的运行配置示例 - 这是一个相当简单的设置,只有一个后端服务器:

backend backend_tfs
    server static teamfoundation.mycompany.com:8080 check maxconn 3
    mode http
    balance roundrobin
    option http-keep-alive
    option prefer-last-server
    timeout server 30s
    timeout connect 4s

frontend frontend_tfs
    # You probably want something other than 127.0.0.1 here:
    bind 127.0.0.1:8080 name frontend_tfs
    mode http
    option http-keep-alive
    timeout client 30s
    default_backend backend_tfs

此处的重要选项是http-keep-aliveprefer-last-server

关于http - 反向代理受 NTLM 保护的网站,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41936501/

相关文章:

sharepoint - 查找 SPListItem 的最新批准版本

tfs - 当这些文件不在源中并且已在本地删除时,如何从 TFS 的待定更改列表中删除文件

visual-studio - 如何在 Visual Studio TFS 中回滚?

http - Angular2 服务只运行一次 http 方法

http - 有哪些好的免费 Http 调试工具

sharepoint - 如何许可共享点解决方案?

tfs - 在 VSTS/TFS 构建摘要中显示 HTML 内容,而不使用 list 文件中的贡献

http - 将 HTTP 重定向到 HTTPS 时如何处理 Nginx 中的 400 错误

java - 301 重定向 : Why connection close?

sharepoint - 如何安排 Sharepoint 工作流程的执行