ssl卸载可降低后端压力并集中管理安全策略,但需确保卸载位置明确、加密链路完整、策略主动加固;配置包括启用必要模块、正确设置证书与代理、注入安全头、限制tls版本与套件、可选后端https回源及证书校验。

Apache作为负载均衡层时,SSL卸载(SSL Termination)能显著降低后端应用服务器的计算压力,并集中管理证书、加密策略和安全控制。但配置不当可能引入中间人风险、协议降级或私钥暴露等问题。关键在于:卸载位置要明确(通常在反向代理前端)、加密链路要完整(前端HTTPS + 后端可信HTTP/HTTPS)、安全策略要主动加固。
启用mod_proxy与SSL模块并配置基础卸载
确保已加载mod_proxy、mod_proxy_http、mod_ssl和mod_headers。在虚拟主机中绑定证书,将解密后的请求转发至后端:
- 使用SSLEngine on开启HTTPS监听,指定SSLCertificateFile和SSLCertificateKeyFile
- 用ProxyPass和ProxyPassReverse将/映射到http://backend-server:8080(后端可为HTTP,前提是内网可信)
- 添加RequestHeader set X-Forwarded-Proto "https"和RequestHeader set X-Forwarded-Port "443",确保后端能正确识别原始协议
强制HTTPS访问与HSTS头注入
避免用户误用HTTP访问导致明文传输。除全局重定向外,应在SSL虚拟主机中主动注入安全响应头:
- 用Redirect permanent / https://example.com/处理HTTP入口(或配合mod_rewrite)
- 在HTTPS虚拟主机中添加:Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"
- 搭配Header always set X-Content-Type-Options "nosniff"和Header always set X-Frame-Options "DENY"增强基础防护
限制TLS版本与加密套件提升传输安全
默认配置可能允许弱协议(如SSLv3、TLS 1.0)或不安全套件(含RC4、NULL、EXPORT)。应显式收紧:
- 设置SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1(仅保留TLS 1.2+)
- 使用SSLCipherSuite ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384等前向保密优先的套件
- 启用SSLHonorCipherOrder on确保服务端优先级生效,配合SSLCompression off禁用CRIME攻击面
后端通信安全:可选HTTPS回源与证书校验
若后端部署在不可信网络或需端到端加密,可在卸载后重建HTTPS连接(SSL Re-encryption)。此时需保障后端身份可信:
- 将ProxyPass目标改为https://backend-server:8443,并启用SSLProxyEngine on
- 通过SSLProxyVerify require和SSLProxyCACertificateFile强制校验后端证书
- 添加SSLProxyCheckPeerCN off和SSLProxyCheckPeerName off仅在测试环境临时绕过CN检查;生产环境必须验证域名匹配










