我在prem上有一个非常老的应用程序,只能说tls1.0,我需要在tls1.3上与一个互联网站点对话。我是否可以使用HAProxy配置本地侦听器来侦听https tls 1.0,并将这些GET和POST请求转发给TLS1.3上面向API的internet?
如果不是HAProxy,我可以使用什么?
谢谢标签
发布于 2020-02-16 16:33:25
使用HAProxy,您可以在全局部分为bind和服务器指定不同的密码,如下所示:
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或
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
发布于 2021-02-10 11:00:54
也许这会对某人有帮助。如果希望将其设置在特定的绑定上,可以通过以下方法进行:
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。
希望它能帮到别人。
发布于 2020-08-14 11:16:21
我有同样的问题,在互联网上没有解决办法,但两天后,我终于找到了HAProxy的解决方案(也许它可以帮助某人)。
我的例子:流量-> myfakehost.com (listenning TLS1.0) -> myhost.com (listenning TLS1.2)。
/etc/haproxy/haproxy.cfg:
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/hosts中localhost的别名。
调试工具:
curl -v https://myfakehost.com
openssl s_client -showcerts -connect myfakehost.com:443https://serverfault.com/questions/1001696
复制相似问题