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

Apache mTLS代理配置:如何传递用户选择的客户端证书至下游服务器

解决Apache代理转发用户客户端证书到下游服务器的问题

核心配置思路

要实现将浏览器用户选择的客户端证书传递给下游服务器,核心是让Apache代理复用前端收到的用户证书,而非使用固定配置的证书。以下是具体调整方案:

1. 前端证书验证配置(保留并增强)

确保Apache能正确获取并导出用户的客户端证书:

SSLCACertificateFile userCertChain.pem
SSLVerifyClient require
SSLVerifyDepth 10
SSLOptions +ExportCertData  # 新增:将客户端证书导出到环境变量

2. 代理端证书配置(关键调整)

移除固定代理证书配置,新增证书复用规则:

SSLProxyEngine On
SSLProtocol all -TLSv1.3 -SSLv2 -SSLv3
SSLProxyProtocol all -TLSv1.3 -SSLv2 -SSLv3

# 彻底移除或注释固定代理证书配置
# SSLProxyMachineCertificateFile userCertWithKey.pem

SSLProxyMachineCertificateChainFile userCertChain.pem
# 关键配置:让代理使用前端收到的用户证书与下游握手
SSLProxyMachineCertificateCallback "file:%{SSL_CLIENT_CERT}"

SSLProxyCACertificateFile downstreamServerFullchain.pem
SSLProxyVerify require
SSLProxyVerifyDepth 10
SSLProxyCheckPeerCN on

3. 修正基础配置错误

调整ServerName格式(不要带https://前缀):

ServerName example.com:port
ServerAlias *.example.com

完整调整后的虚拟主机配置

<VirtualHostInstance name='name' certfilename='example.com'>

SecRuleEngine Off

SSLCACertificateFile userCertChain.pem
SSLVerifyClient require
SSLVerifyDepth 10
SSLOptions +ExportCertData

SSLProxyEngine On
SSLProtocol all -TLSv1.3 -SSLv2 -SSLv3
SSLProxyProtocol all -TLSv1.3 -SSLv2 -SSLv3

# 禁用固定代理证书
# SSLProxyMachineCertificateFile userCertWithKey.pem

SSLProxyMachineCertificateChainFile userCertChain.pem
SSLProxyMachineCertificateCallback "file:%{SSL_CLIENT_CERT}"

SSLProxyCACertificateFile downstreamServerFullchain.pem
SSLProxyVerify require
SSLProxyVerifyDepth 10
SSLProxyCheckPeerCN on

SSLHonorCipherOrder On

ServerName example.com:port
ServerAlias *.example.com

LogLevel debug

<Location />
    Require all granted
    ProxyPass https://example.com/
    ProxyPassReverse https://example.com/
</Location>
</VirtualHostInstance>

注意事项

  • 确保userCertChain.pem包含完整的CA信任链(根证书+中间证书),同时下游服务器需信任该CA签发的证书。
  • SSLProxyMachineCertificateCallback要求Apache版本≥2.4.30,若版本过低需升级Apache,或改用HTTP头传递证书(需下游服务器支持从HTTP头读取证书)。
  • 重启Apache后,通过debug级别的错误日志排查证书链、权限等潜在问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 07:43:16