ssl_client_certificate

ssl_client_certificate 指令指定包含用于客户端证书验证的受信任 CA 证书的文件。 — NGINX HTTP Core

ssl_client_certificate
httpserver
语法ssl_client_certificate path;
默认值none
上下文http, server
模块NGINX HTTP Core
参数1

说明

ssl_client_certificate 指令用于 NGINX 配置中,设置指向包含受信任 Certificate Authority (CA) 证书的文件的路径,以便在 SSL/TLS 连接期间验证客户端证书。该指令通常用于需要 mutual TLS 身份验证的配置,在这种情况下,客户端必须出示由受信任 CA 签发的有效证书,才能与服务器建立连接。 配置该指令后,NGINX 会使用指定的证书颁发机构列表来验证在 SSL 握手期间出示的客户端证书。验证过程会检查客户端证书的签发 CA 是否包含在所提供的文件中。如果验证通过,客户端将被允许继续;否则连接可能被终止,或根据额外的配置设置采取其他操作。 请确保证明当前指定的文件包含有效的 CA 证书,且已设置正确的权限以便 NGINX 可读取该文件。该指令可以在 http 或 server 上下文设置,以适应应用的具体要求。注意,如果需要信任多个客户端证书,此配置可以指向包含所有必要 CA 证书的单个文件,从而为多个客户端身份提供无缝的验证过程。

配置示例

server {
    listen 443 ssl;
    ssl_certificate     /etc/nginx/ssl/server.crt;
    ssl_certificate_key /etc/nginx/ssl/server.key;

    ssl_client_certificate /etc/nginx/ssl/ca.crt;
    ssl_verify_client on;
}

确保证书文件路径正确,并且可被 NGINX 进程访问。

检查 CA 证书文件的权限是否正确。

确保服务器上已正确配置 SSL,以便使用此指令。