【问题标题】:HAProxy use the old backendHAProxy 使用旧的后端
【发布时间】:2020-07-03 13:34:08
【问题描述】:

我使用 HAProxy 作为 https 连接的反向代理。我有一些这样的规则:

 use_backend server2 if  { req_ssl_sni -i test.domain.com }

昨天我为一个 acl 更改了后端,但不知何故,一些 (!!) 客户端仍然获得旧后端的内容(对于其他 acl 仍然有效)。如果一个 chrome 在隐私模式下运行,我可以在同一台机器上看到两个不同的结果。

重启和重新加载没有帮助。

【问题讨论】:

  • 如果没有看到您的完整配置和可重现的请求,很难判断哪里出了问题。很可能虽然您之前有其他规则匹配(请记住:第一个匹配的 use_backend 规则获胜)或者您可能仍然有一个旧进程正在运行,它可能会随机服务请求。要排除后一种情况,请确保终止所有 haproxy 进程并启动一个新进程。

标签: google-chrome https proxy haproxy


【解决方案1】:

看来我解决了。我认为问题是通过 TCP 的传递。我将配置更改为通过 HAProxy 执行 SSL 终止并通过 http 处理它。似乎 TCP / req_ssl_sni 的规则仅用于第一个连接,即使主机名发生更改,也会绕过以下连接。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多