You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Apache httpd代理后端HTTPS服务仍用TLSv1,如何强制使用TLSv1.2?

Apache代理后端HTTPS强制使用TLSv1.2而非TLSv1的问题解决

问题概述

配置Apache httpd代理后端HTTPS服务时,已在配置中指定禁用TLSv1/TLSv1.1,但抓包显示代理仍发起TLSv1握手,导致后端服务拒绝连接,出现502错误。环境为CentOS7、httpd 2.4.6、mod_ssl 2.4.6、OpenSSL 1.0.2k。

配置与错误信息

当前配置

ssl.conf:

SSLEngine on
SSLProxyEngine On
SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1
SSLProxyProtocol all -SSLv3 -TLSv1 -TLSv1.1

someproxy.conf:

ProxyPass /x https://x:8443
ProxyPassReverse /x https://x:8443
AllowCONNECT 8443

错误日志

[Thu Jan 05 12:31:40.599913 2023] [proxy_http:error] [pid 14] (103)Software caused connection abort: [client 172.18.0.1:59228] AH01102: error reading status line from remote server x:8443
[Thu Jan 05 12:31:40.599951 2023] [proxy:error] [pid 14] [client 172.18.0.1:59228] AH00898: Error reading from remote server returned by /x/y
172.18.0.1 - - [05/Jan/2023:12:31:40 +0000] "GET /x/y HTTP/1.1" 502 461 "-" "curl/7.68.0" 837 4435

抓包结果

1470438 8882.445761230  172.18.0.13 172.18.0.15 TLSv1   280 Client Hello

原因分析

  1. 版本兼容性问题:CentOS7自带的httpd 2.4.6和mod_ssl 2.4.6属于较旧版本,存在SSLProxyProtocol排除式语法(all -xxx)在ProxyPass场景下不生效的已知问题。
  2. 配置加载顺序:若someproxy.conf加载顺序早于ssl.conf,代理规则可能无法继承到ssl.conf中的协议限制配置。
  3. OpenSSL配置不生效:httpd的mod_ssl不会直接读取系统全局的openssl.cnf,修改该文件无法影响代理的TLS协议版本。

解决建议

1. 直接指定TLSv1.2协议

将ssl.conf中的协议配置改为直接指定TLSv1.2,避免使用排除式语法:

SSLProtocol TLSv1.2
SSLProxyProtocol TLSv1.2

2. 将协议配置绑定到代理规则

把SSLProxyEngine和SSLProxyProtocol直接添加到someproxy.conf中,确保配置作用于当前ProxyPass规则:

SSLProxyEngine On
SSLProxyProtocol TLSv1.2

ProxyPass /x https://x:8443
ProxyPassReverse /x https://x:8443
AllowCONNECT 8443

3. 升级httpd和mod_ssl到最新补丁版本

CentOS7官方仓库提供了httpd 2.4.6的后续补丁,修复了部分mod_ssl协议配置问题。执行以下命令升级:

yum update httpd mod_ssl
systemctl restart httpd

4. 验证配置生效情况

重启httpd后,执行以下命令检查配置是否正确加载:

httpd -t -D DUMP_CONFIG | grep -i sslproxyprotocol

若输出显示SSLProxyProtocol TLSv1.2,则说明配置已生效。

5. 强制指定TLSv1.2专属加密套件(可选)

添加加密套件配置,进一步限制仅使用TLSv1.2支持的套件:

SSLProxyCipherSuite 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
SSLProxyHonorCipherOrder on

内容的提问来源于stack exchange,提问作者Michael Karpel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 22:40:57