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

启用TLSv1.3时Nginx ssl_client_certificate无法筛选客户端证书

问题解决:TLS 1.3下Nginx客户端证书过滤失效
  • 问题根源:TLS 1.3的握手流程和TLS 1.2存在差异,Nginx在TLS 1.3模式下,ssl_client_certificate仅用于验证客户端证书的有效性,不会主动将受信任CA列表发送给客户端;而TLS 1.2下该指令同时承担验证和传递CA列表的作用,这就是移除TLS 1.3后证书过滤恢复正常的原因。

  • 解决方法:添加ssl_certificate_authorities指令,指定与ssl_client_certificate相同的CA证书文件,明确让Nginx在TLS 1.3握手时发送该CA列表给客户端,浏览器就能据此过滤出匹配的证书。

修改后的相关配置如下:

ssl_protocols TLSv1.2 TLSv1.3;
ssl_session_cache off;
ssl_verify_client optional;
ssl_client_certificate path-to-certs.pem;
ssl_certificate_authorities path-to-certs.pem; # 新增该行
ssl_verify_depth 9;
  • 补充说明:这是Nginx针对TLS 1.3的设计调整,并非协议本身的问题。通过ssl_client_certificate负责验证、ssl_certificate_authorities负责传递CA列表的配合,就能在保留TLS 1.3的同时实现正常的证书过滤功能。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 20:58:12