首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >haproxy tls1.0至tls1.3代理

haproxy tls1.0至tls1.3代理
EN

Server Fault用户
提问于 2020-02-04 11:07:50
回答 3查看 12K关注 0票数 3

我在prem上有一个非常老的应用程序,只能说tls1.0,我需要在tls1.3上与一个互联网站点对话。我是否可以使用HAProxy配置本地侦听器来侦听https tls 1.0,并将这些GET和POST请求转发给TLS1.3上面向API的internet?

如果不是HAProxy,我可以使用什么?

谢谢标签

EN

回答 3

Server Fault用户

回答已采纳

发布于 2020-02-16 16:33:25

使用HAProxy,您可以在全局部分为bind和服务器指定不同的密码,如下所示:

代码语言:javascript
复制
global
    # modern bind configuration, Only TLS1.3 enabled.
    ssl-default-bind-ciphersuites TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256
    ssl-default-bind-options no-sslv3 no-tlsv10 no-tlsv11 no-tlsv12 no-tls-tickets

代码语言:javascript
复制
global   
   # old configuration for the server side, only sslv3 and below are disabled, tls1.0,tls1.2 and tls1.3 are all enabled.
   ssl-default-server-ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA256:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA
    ssl-default-server-ciphersuites TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256
    ssl-default-server-options no-sslv3 no-tls-tickets
    # you may also add the below:
    ssl-server-verify                none

我希望这对你有用。HAProxy非常灵活,可以满足您的需求。参考资料:https://ssl-config.mozilla.org/#server=haproxy

票数 2
EN

Server Fault用户

发布于 2021-02-10 11:00:54

也许这会对某人有帮助。如果希望将其设置在特定的绑定上,可以通过以下方法进行:

代码语言:javascript
复制
bind YOUR_IP:443 ssl crt /etc/ssl/private/ alpn h2,http/1.1 ciphers ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:RSA+AESGCM:RSA+AES:!aNULL:!MD5:!DSS:!CAMELLIA@SECLEVEL=1 ssl-min-ver TLSv1.0

注意SECLEVEL=1

希望它能帮到别人。

票数 2
EN

Server Fault用户

发布于 2020-08-14 11:16:21

我有同样的问题,在互联网上没有解决办法,但两天后,我终于找到了HAProxy的解决方案(也许它可以帮助某人)。

我的例子:流量-> myfakehost.com (listenning TLS1.0) -> myhost.com (listenning TLS1.2)。

/etc/haproxy/haproxy.cfg

代码语言:javascript
复制
frontend old_maps
  bind *:443 ssl crt /etc/haproxy/mycertificate.pem force-tlsv10
  mode tcp
  default_backend new_maps

backend new_maps
  mode http
  balance roundrobin
  option forwardfor
  http-request set-header Host myhost.com
  server mymaps myhost.com:443 ssl check verify none

如您所见,我在证书方面没有什么问题,我需要使用set-header选项将原始URL更改为新URL。

注意:在我的情况下,mycertificate.pem需要有(私钥、服务器证书、中间证书、根证书),而myfakehost.com/etc/hostslocalhost的别名。

调试工具:

代码语言:javascript
复制
 curl -v https://myfakehost.com
 openssl s_client -showcerts -connect myfakehost.com:443
票数 1
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/1001696

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档