我正在尝试使用Nginx设置SSL,但是我遇到了一些问题。 我收到了所有需要的文件,并创build了如下所示的包,并将其添加到我的站点configuration中,如下所示:
server { listen 443; server_name <domain> www.<domain>; ssl_certificate /srv/ssl/<domain>.bundle.cer; ssl_certificate_key /srv/ssl/<domain>.key; location / { proxy_pass http://localhost:4000; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; } } server { listen 80; server_name <domain> www.<domain>; location / { rewrite ^ https://$server_name$request_uri permanent; } }
当试图连接时,我得到一个SSL连接错误。 但是,运行diff <(openssl rsa -in /srv/ssl/<domain>.key -modulus -noout) <(openssl x509 -in /srv/ssl/<domain>.bundle.cer -modulus -noout)不会返回任何内容。
Nginx错误日志显示如下:
SSL_CTX_use_PrivateKey_file("/srv/ssl/<domain>.key") failed (SSL: error:0B080074:x509 certificate routines:X509_check_private_key:key values mismatch)
该包是使用cat创build的:
cat <domain>.crt COMODORSADomainValidationSecureServerCA.crt COMODORSAAddTrustCA.crt AddTrustExternalCARoot.crt > <domain>.bundle.cer
Nginx用户有权读取这些文件。
有任何想法吗?
您忘记将端口443标记为在nginx中启用ssl。 listen 443 ssl; – 有点。