按照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的比较告诉我他们有所不同,但我做错了什么?
答案 0 :(得分:1)
感谢@TarunLalwani,问题在于,当上传新CSR时,我可以从Godaddy下载的证书需要时间刷新。解决方案是我必须等待实际的电子邮件,表明我的证书已准备好下载。