在NGINX服务器安装GoDaddy SSL证书失败求助
解决Nginx中SSL私钥与证书不匹配错误(X509_check_private_key:key values mismatch)
出现这个错误的核心原因是你配置的私钥(firstprivatekey.key)与域名证书(domain.com.crt)不配对,以下是具体排查和修复步骤:
1. 验证私钥与原始CSR的匹配性
你是通过自己生成的CSR向GoDaddy申请证书,首先确认私钥和CSR为同一对:
- 提取私钥的公钥指纹:
openssl rsa -noout -modulus -in /etc/nginx/ssl/firstprivatekey.key | openssl md5 - 提取CSR的公钥指纹:
openssl req -noout -modulus -in /etc/nginx/ssl/firstcsrfile.csr | openssl md5 - 若两个MD5值不一致,说明你当前使用的私钥并非生成CSR时的那一个,需找回对应私钥。
2. 验证私钥与GoDaddy域名证书的匹配性
如果私钥和CSR匹配,继续检查私钥与GoDaddy颁发的域名证书是否对应:
- 提取域名证书的公钥指纹:
openssl x509 -noout -modulus -in /etc/nginx/ssl/domain.com.crt | openssl md5 - 对比该值与第一步私钥的MD5值,若不一致,说明你下载的证书并非基于你提交的CSR颁发,需登录GoDaddy后台确认证书申请记录,重新下载对应证书。
3. 检查证书/私钥文件格式完整性
确保所有文件为标准PEM格式,无多余空白行、注释或格式损坏:
- 验证私钥合法性:
openssl rsa -in /etc/nginx/ssl/firstprivatekey.key -check - 验证域名证书合法性:
openssl x509 -in /etc/nginx/ssl/domain.com.crt -text -noout - 若命令报错,说明文件损坏,需重新复制文件(使用纯文本编辑器如
vim/nano,避免用富文本编辑器打开导致格式错乱)。
4. 确认Nginx配置的文件权限与路径
- 检查文件是否存在于配置指定路径:
ls -l /etc/nginx/ssl/ - 确保Nginx进程有读取权限:
chmod 644 /etc/nginx/ssl/*.key /etc/nginx/ssl/*.crt
注:你合并证书的命令cat domain.com.crt intermediate.crt > domain.com.chained.crt是正确的,该步骤无问题。
内容的提问来源于stack exchange,提问作者Dnyaneshwar Jadhav
相关产品推荐
相关产品推荐

