No ssl_verify_client on
meu nginx, esperaria que as solicitações que não possuem certificado de cliente fossem negadas. Mas eles são permitidos.
por exemplo, use um navegador da web para GET /foo/bar, a resposta é 200 OK. Eu esperaria que fosse 401 ou 403. Porque é claro que o navegador da web não envia o certificado do cliente com a solicitação.
Eu configurei isso incorretamente? Ou há outra etapa necessária para negar essas solicitações?
Meu servidor é api.example.com e tenho um certificado curinga *.example.com. O cliente forneceu seu certificado e certificado CA.
server {
listen 443 default_server ssl;
server_name _;
# bundle = my cert + CA cert
ssl_certificate /etc/ssl/example.com.bundle.pem;
ssl_certificate_key /etc/ssl/example.com.key;
# bundle = other side's client cert + CA cert
# ssl_client_certificate /etc/ssl/client/client-bundle.pem;
ssl_verify_client on;
ssl_verify_depth 2;
ssl_protocols TLSv1.2;
}