首页/安全/加密与证书速查/nginx 证书链文件组织与加载
本包目录(305 条)
加密算法基础95 条
TLS 与 HTTPS60 条
证书与 PKI30 条OpenSSL 实战30 条证书运维排查49 条密钥管理41 条

nginx 证书链文件组织与加载

nginx 的 ssl_certificate 指向的 PEM 需按服务器证书在前、中间证书在后的顺序拼接;私钥单独存放。链顺序与文件权限是部署后首先要确认的两件事。

加密与证书速查安全更新于 2026-10-12
文件组成服务器证书 + 1 到多个中间证书,服务器证书必须在最前
替代写法nginx 1.11.0+ 可用多条 ssl_certificate 指令按顺序指定链
私钥独立文件、不放入证书链;权限 600,属主按运行用户
校验链openssl verify -untrusted intermediate.crt fullchain.pem

拼接全链并验证

拼接全链并验证
cat server.crt intermediate.crt > fullchain.pem
openssl verify -untrusted intermediate.crt fullchain.pem
openssl x509 -in fullchain.pem -noout -subject -issuer

nginx 引用

nginx 引用
ssl_certificate     /etc/nginx/ssl/fullchain.pem;
ssl_certificate_key /etc/nginx/ssl/server.key;
链顺序颠倒时部分客户端仍能校验成功,但在严格校验的客户端(部分 Java、移动端库)会直接失败,属于隐蔽故障。

易错点

  • 把根证书也拼进链文件(多数场景不必,客户端本地已有根证书)
  • 证书与私钥不匹配时 nginx -t 才在加载阶段报错,应先用 openssl 比对公钥

数据来源与参考

  • nginx 官方文档(ssl_certificate)
  • RFC 5280 §6(证书路径验证)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌