按照Godaddy的说明,我生成了一个私钥和相应的CSR:

openssl req -new -newkey rsa:2048 -nodes -keyout mydomain.key -out mydomain.csr


然后,我将mydomain.csr上传到Godaddy,得到了一个包含SSL和中间证书的ZIP文件,我将其合并为一个CRT文件:

cat mysslcert.crt intermediate.crt >> mydomain.crt


使用来自docker hub的官方NGINX映像,配置如下:

server {
    listen 80;
    listen 443 ssl;
    keepalive_timeout 10m;
    root /var/www;
    server_name mydomain.com;

    ssl on;
    ssl_certificate /etc/ssl/mydomain.crt;
    ssl_certificate_key /etc/ssl/mydomain.key;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on; ...


这些文件可访问(检查路径错误)。我收到的错误如下:

    SSL_CTX_use_PrivateKey_file("/etc/ssl/mydomain.key") failed (SSL: error:0B080074:x509 certificate routines:X509_check_private_key:key values mismatch)


MD5的比较告诉我它们是不同的,但是我在做什么错呢?

最佳答案

感谢@TarunLalwani,问题在于当我上传新的CSR时,可以从Godaddy下载的证书需要花费一些时间来刷新。解决方案是我必须等待实际的电子邮件,表明我的证书已准备好下载。

关于ssl - Nginx上的SSL支持,Godaddy SSL证书,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46175303/

10-09 20:44