Nginxは400 Bad Requestを表示し、必要なSSL証明書を送信しません。

Nginxは400 Bad Requestを表示し、必要なSSL証明書を送信しません。

SSL接続を確立しようとしていますが、サーバーから400 No必須SSLcertificateが送信されました応答を受け取ります。

使ったこのチュートリアルこの問題を解決するためにすべての方法を試しましたが、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も同様に動作)

おすすめ記事