在 nginx 上设置 SSL

在 nginx 上设置 SSL

我正在尝试使用 Nginx 设置 SSL,但遇到了一些问题。我收到了所有必需的文件,并创建了如下所示的包这里,并将其添加到我的网站配置中,如下所示:

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

 cat <domain>.crt COMODORSADomainValidationSecureServerCA.crt COMODORSAAddTrustCA.crt AddTrustExternalCARoot.crt > <domain>.bundle.cer

Nginx 用户有权限读取该文件。

有任何想法吗?

答案1

您忘记在 nginx 中将端口 443 标记为已启用 ssl。-listen 443 ssl;有点。

相关内容