在ubuntu服务器上使用nginx从namecheap获得ssl证书的问题



我刚刚从namecheap购买了一个ssl证书,positivessl一次性域,完成了以下步骤:https://sneeit.com/install-https-ssl-nginx/

我还尝试了网站.crt、密钥和csr,同时创建了与我在namecheap.org上的域名匹配的csr,我得到了基于http的方法颁发的ssl证书,并尝试了上述方法和其他方法,结果显示2个错误,

第一个错误是只有website.crt(未连接在一起(:SSL_CTX_use_PrivateKey_file("/etc/nginx/SSL/website.key"(失败(SSL:错误:0B08074:x509证书例程:x509_check_private_key:键值不匹配(

安装凹入的捆绑包后出现的第二个错误:PEM_read_bio_X509("/etc/nginx/ssl/contacted.crt"(失败(ssl:错误:0908F066:PEM例程:get_header_and_data:错误的结束行(

我的NGINX配置是:

server {
listen 80;
listen [::]:80;
server_name website.com;
server_tokens off;
return 301 https://website.com$request_uri;
}
server {
listen 443;
listen [::]:443;
ssl on;
ssl_certificate /etc/nginx/ssl/website.crt;
ssl_certificate_key     /etc/nginx/ssl/website.key;
ssl_protocols   TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers     HIGH:!aNULL:!MD5;
root /var/www/website/web;
index index.php;
server_name website.com;
server_tokens off;
location / {
try_files $uri $uri/ =404;
}
location ~ .php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
}
}

这不是我的第一次牛仔竞技,从一个我便宜地安装了ssl很多次,只是使用了.crt不是一个凹入的,但其他人正在开发nginx版本:1.14.0

任何帮助都将不胜感激,因为我被卡住了,谷歌搜索对这些错误没有帮助:(

谢谢!

赫克托

第一个错误x509 certificate routines:X509_check_private_key:key values mismatch明确地"告知"您尝试使用的证书与私钥不匹配。确保在将激活证书传递给CA时使用与CSR一起生成的私钥文件。使用openssl:检查证书和密钥模数哈希

openssl x509 -in file.crt -noout -modulus | openssl sha1
openssl rsa -in file.key -noout -modulus | openssl sha1

您应该收到相同的值,以防它们匹配。

至于第二个错误PEM routines:get_header_and_data:bad end line,它很可能是由连接的crt文件格式损坏引起的。如果打开文件,-----END CERTIFICATE----------BEGIN CERTIFICATE-----中的某个位置应该有一行类似的内容。将证书起始标签以这种方式放在下一行:

-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----

对你来说,这可能看起来像是一场牛仔竞技表演,但错误是不言自明的。我建议你检查文件内容,以防你确认密钥模块与你的证书匹配。

我想这是因为在命令openssl req-new中,我指定了一个4096的密钥,而不是2048,因为它现在可以使用2048…

最新更新