Nginx 显示 400 Bad Request 未发送所需的 SSL 证书

Nginx 显示 400 Bad Request 未发送所需的 SSL 证书

我正在尝试建立 SSL 连接,但收到来自服务器的 400 No required SSLcertificate was sent 响应。

我用了本教程为此,我尝试了一切来解决这个问题,但 Cloudflare 证书似乎有问题,因为当我禁用 ssl_verify_client 时它正在工作(带有安全警报)。这是我的 nginx 配置:

server {
    listen 443 ssl http2;
    listen [::]:443 ssl http2;
    ssl_certificate         /etc/ssl/cert.pem;
    ssl_certificate_key     /etc/ssl/key.pem;

    ssl_client_certificate /etc/ssl/cloudflare.crt;
    ssl_verify_client on;

    server_name example.com www.example.com;

    location = /favicon.ico { access_log off; log_not_found off; }
    location /static/ {
        root /home/username/www/exampleproject;
    }
    location /media/ {
        root /home/username/www/exampleproject;
    }

    location / {
        include proxy_params;
        proxy_pass http://unix:/home/username/www/exampleproject/exampleproject.sock;
    }
}

答案1

阅读您提供的链接。大约 2/3 的内容描述了这个确切的错误以及它发生的原因。您已将代理配置为要求浏览器提供客户端证书,但您尚未告诉浏览器应提供证书或哪一个证书。

https://stackoverflow.com/questions/40847638/how-chrome-browser-know-which-client-certificate-to-prompt-for-a-siteChrome 的流程(IIRC、Firefox 的工作方式类似)。

相关内容