proxy_ssl_certificate
`proxy_ssl_certificate` 指令为与被代理服务器的 SSL/TLS 连接设置客户端 SSL 证书文件。 — NGINX HTTP Core
proxy_ssl_certificate
httpserverlocation
语法proxy_ssl_certificate path-to-certificate;
默认值none
上下文http, server, location
模块NGINX HTTP Core
参数1
说明
`proxy_ssl_certificate` 指令用于 NGINX 配置中,用于定义在建立 SSL/TLS 连接时应发送到上游服务器的 SSL 证书文件的路径。该指令在 NGINX 作为 HTTPS 连接的反向代理以在客户端和服务器之间提供安全通信的场景中尤为重要。通过指定客户端证书,NGINX 可以向后端服务器进行自我认证,从而实现双向 SSL/TLS 身份验证。 该指令可在不同上下文中使用:`http`、`server` 和 `location`,因此在 NGINX 配置的不同作用域中具有很强的适用性。所指定的证书应为 PEM 格式,这是 SSL 证书的标准格式,确保与 SSL/TLS 协议的兼容性。客户端证书通常会伴随一个私钥,该私钥通过 `proxy_ssl_certificate_key` 指令设置,以便与后端服务器建立安全连接。 必须确保证书文件对运行 NGINX 进程的用户可正确读取。如果由于权限问题导致 NGINX 无法访问证书文件,则会导致启动或重载失败,从而中断服务。此外,可能还需要与该指令一起配置 SSL 会话设置以获得最佳性能和安全性,例如指定 SSL 协议和密码套件,以完全保护通信通道。
配置示例
location /api {
proxy_pass https://backend.example.com;
proxy_ssl_certificate /etc/ssl/certs/client-cert.pem;
proxy_ssl_certificate_key /etc/ssl/private/client-key.pem;
}⚠
确保证书文件为 PEM 格式;否则 NGINX 将无法使用它。
⚠
检查证书文件的权限以确保 NGINX 用户可以读取它;权限不当可能导致启动错误。
⚠
记得还要指定 `proxy_ssl_certificate_key` 指令来提供客户端证书对应的私钥。