在配置 Nginx SSL 证书时,如果出现 Common Name(CN)错误,通常说明 SSL 证书与域名不匹配,或证书配置存在问题。您可以按照下面的步骤逐项排查并解决:

首先,确认您已经为当前域名申请了正确的 SSL 证书。您可以通过 Let’s Encrypt 免费签发证书,也可以向其他正规证书颁发机构购买证书。若证书绑定的域名与实际访问域名不一致,就容易触发 Common Name 错误。
检查 Nginx 配置文件中的
ssl_certificate和ssl_certificate_key指令,确保它们分别准确指向对应的证书文件和私钥文件。例如:
ssl_certificate /etc/nginx/ssl/your_domain_name.crt;
ssl_certificate_key /etc/nginx/ssl/your_domain_name.key;- 如果您使用了 SNI(Server Name Indication,服务器名称指示),请确认当前 Nginx 版本支持 SNI,并正确启用相关 SSL 配置。可参考以下写法:
ssl on;
ssl_certificate /etc/nginx/ssl/your_domain_name.crt;
ssl_certificate_key /etc/nginx/ssl/your_domain_name.key;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!MD5;- 确认您的 SSL 证书中包含正确的 Common Name(CN)或 Subject Alternative Name(SAN)信息。您可以使用下面的命令查看证书详细内容:
openssl x509 -in /etc/nginx/ssl/your_domain_name.crt -text -noout在命令输出结果中,找到“Subject”或“Subject Alternative Name”部分,检查其中是否包含您当前使用的域名。若访问的是泛域名、主域名或带 www 的域名,也要确保对应名称已被证书覆盖。
如果按照以上步骤检查后仍然存在问题,建议重新生成证书,并确保在创建证书请求(CSR)时填写了正确的域名信息。CSR 中域名填写错误,也会导致 Nginx SSL 配置出现 CN 不匹配的问题。
最后,重新检测并加载 Nginx 配置,使修改正式生效:
sudo nginx -t # 检查配置文件语法是否正确
sudo nginx -s reload # 重新加载配置文件按照上述方法逐步排查后,通常都可以解决 Nginx SSL 配置中的 Common Name 错误。如果问题依然没有解决,建议进一步提供域名、证书类型以及相关 Nginx 配置内容,以便继续分析和定位原因。
