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도 유사하게 작동)

관련 정보