按照 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 下载的证书需要时间来刷新。解决方案是我必须等待实际的电子邮件,表明我的证书已准备好下载。
关于nginx 上的 SSL 支持,Godaddy SSL 证书,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46175303/