【问题标题】:TLS 1.3 to 1.2 downgrading in a proxy代理中的 TLS 1.3 到 1.2 降级
【发布时间】:2021-07-22 14:11:21
【问题描述】:

我正在尝试设置允许将 TLS 1.3 降级到 TLS 1.2 的 HTTPS 代理。

我的实际问题是:

  • 旧浏览器+操作系统,只支持TLS 1.2,无法升级...
  • 系统新增web服务器,只管理TLS 1.3,也不能碰...
  • 我可以在连接两个组件的中间盒上安装软件。

我需要浏览器能够通过中间盒连接到网络服务器。

我在考虑 HAProxy,但我真的是个菜鸟,我不确定在哪里检查此功能以及如何实现此功能。

我应该如何设置 HAProxy ?

提前感谢您的帮助。

【问题讨论】:

    标签: tls1.2 haproxy tls1.3


    【解决方案1】:

    如果我理解正确的话。浏览器使用 TLSv1.2 连接到 haproxy,而 haproxy 使用 TLSv1.3 连接到服务器。
    下面是它的工作原理:

    globals
      ssl-default-bind-ciphers <list of TLS1.2 ciphers>
      ssl-default-bind-options ssl-min-ver TLSv1.2 ssl-max-ver TLSv1.2
      ssl-default-server-ciphersuites <list of TLS1.3 ciphersuites>
      ssl-default-server-options ssl-min-ver TLSv1.3
    
    defaults
      mode http
    
    frontend foo
      bind *:443 ssl crt /path/to/cert.pem
      default_backend bar
    
    backend bar
      server yourservername 192.168.1.1:443 ssl
    

    对于 TLSv1.3,您需要使用 OpenSSL 1.1.1 或更高版本构建的 haproxy。
    我将ssl-min-ver TLSv1.2 用于绑定,因为不推荐使用较低版本。 ssl-default-bind-options 中的 ssl-max-ver TLSv1.2 将限制所有前端的 TLS 最高为 1.2,除非另有声明,ssl-min-ver TLSv1.3 中的 ssl-default-server-options 将强制所有到后端服务器的连接使用 TLSv1.3,除非在配置中另有声明。当您有更多服务器时,这些默认设置是为了保存输入。这些选项可以在每个 bind 和每个 server 配置行上单独声明。

    【讨论】:

    • 忘记回来说非常感谢它出色地完成了这项工作。
    猜你喜欢
    • 2015-10-13
    • 2020-05-27
    • 2020-07-12
    • 2018-05-02
    • 2022-01-01
    • 2018-10-20
    • 1970-01-01
    • 1970-01-01
    • 2019-12-13
    相关资源
    最近更新 更多