apache禁用tls 1.0和1.1需在virtualhost中配置sslprotocol all -sslv2 -sslv3 -tlsv1 -tlsv1.1,或严格启用+tlsv1.2 +tlsv1.3,并同步设置sslciphersuite、sslhonorcipherorder on和sslcompression off。

Apache 中禁用 TLS 1.0 和 TLS 1.1 等不安全协议,核心是使用 SSLProtocol 指令精准控制允许的协议版本,推荐采用“显式排除”写法,兼顾兼容性与安全性。
推荐配置写法(适用于大多数生产环境)
在对应站点的 <virtualhost></virtualhost> 块内(如 /etc/apache2/sites-enabled/your-site-le-ssl.conf 或 /etc/httpd/conf.d/ssl.conf)添加:
- SSLProtocol all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1
该写法表示:启用所有协议,再逐一剔除已知不安全的旧版本。Apache ≥ 2.4.26 才能可靠解析这种语法,且行为明确、不易出错。
更严格写法(仅启用强协议,需确认环境支持)
如果确认服务器支持 TLS 1.2 和 TLS 1.3(OpenSSL ≥ 1.1.1 + Apache ≥ 2.4.37),可改用显式启用方式:
Apache Superset 是一个广泛采用的开源 BI 平台,用于 SQL 探索、图表构建和仪表板交付。当代理需要查询仓库数据、组装仪表板或使用成熟的分析界面解释指标而不是临时笔记本代码时,此技能非常有用。
- SSLProtocol +TLSv1.2 +TLSv1.3
注意:不要只写 SSLProtocol TLSv1.2,旧版 Apache 可能忽略未列出的协议导致行为不可控;+号写法更稳妥。
必须同步配置的配套项
单禁协议不够,弱密码套件仍可能导致降级或协商失败。务必一并设置:
-
SSLCipherSuite:限定强加密套件,例如
ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305 - SSLHonorCipherOrder on:强制服务端优先级生效,防止客户端绕过安全策略
- SSLCompression off:关闭压缩,防范 CRIME 攻击
验证是否生效
重启 Apache 后,用以下方式快速确认:
- 命令行测试:
openssl s_client -connect yourdomain.com:443 -tls1_1→ 应返回握手失败或 “no protocols available” - 在线检测:用 SSL Labs Server Test,查看 “Handshake Simulation” 表中 TLS 1.1 是否显示 “No”
- 日志检查:
tail -f /var/log/apache2/error.log,确保无语法错误或加载失败提示










