开启SSLHonorCipherOrder后Apache Httpd无法启用TLS1.0/1.1求助
Apache Httpd开启SSLHonorCipherOrder后丢失TLSv1.0/1.1支持的问题
环境信息
- Apache版本:Apache/2.4.55(编译于2023-01-20T06:45:57)
- OpenSSL版本:1.1.1n(2022年3月15日发布)
问题背景
需兼容旧客户端,但发现Apache Httpd无法开启TLSv1.0/1.1连接,且二者始终同时消失或出现,具体现象如下:
无加密套件配置时
服务器默认支持TLS1.0/1.1/1.2/1.3,配置仅包含:
SSLEngine on SSLCertificateFile "something.cer" SSLCertificateKeyFile "something.key"
添加SSLProtocol配置后
添加SSLProtocol All -SSLv3 -SSLv2后,服务器仍正常支持所有协议,此时提供8个TLS1.0/1.1加密套件:
- TLS_RSA_WITH_AES_128_CBC_SHA
- TLS_DHE_RSA_WITH_AES_128_CBC_SHA
- TLS_RSA_WITH_AES_256_CBC_SHA
- TLS_DHE_RSA_WITH_AES_256_CBC_SHA
- TLS_RSA_WITH_CAMELLIA_128_CBC_SHA
- TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA
- TLS_RSA_WITH_CAMELLIA_256_CBC_SHA
- TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA
同时支持3个TLS1.3加密套件及约四五十个TLS1.2加密套件,但Qualys SSL Labs检测显示该服务器在参考浏览器中不支持前向保密,等级限制为B。
添加加密套件及SSLHonorCipherOrder配置后
为优化前向保密问题,添加以下配置:
SSLCipherSuite ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES128-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA SSLHonorCipherOrder On
此后服务器不再支持TLS1.0/1.1。经核对,指定的加密套件中包含4个属于TLS1.0/1.1的套件:
- ECDHE-ECDSA-AES128-SHA
- ECDHE-ECDSA-AES256-SHA
- ECDHE-RSA-AES128-SHA
- ECDHE-RSA-AES256-SHA
恢复支持的测试结果
- 移除上述加密套件和
SSLHonorCipherOrder配置后,服务器恢复支持TLS1.0/1.1 - 保留加密套件配置,但设置
SSLHonorCipherOrder Off,也可正常支持TLS1.0/1.1
求助点
无法理解为何开启SSLHonorCipherOrder On(服务器优先选择加密套件)后,TLS1.0/1.1连接无法被支持,希望得到原因及解决方法。
内容的提问来源于stack exchange,提问作者Windelight
相关产品推荐
相关产品推荐

