Sto utilizzando nginx come proxy per un server di backend. Anche il server di back-end utilizza nginx e applica l'autenticazione del certificato client utilizzando le direttive ssl_client_certificate
e ssl_verify_client
.Nginx proxy_ssl_certificate non funziona come previsto
Nel mio server nginx ho impostato la seguente:
location /proxy {
proxy_pass https://www.backend.com;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_ssl_certificate /etc/nginx/cert/client.crt;
proxy_ssl_certificate_key /etc/nginx/cert/client.key;
}
secondo i the nginx docs.
Tuttavia, il backend risponde ancora con un codice di risposta 400 "No required SSL certificate was sent"
.
Si noti che al momento del rilascio le richieste al server back-end utilizzando wget con il certificato client, ottengo una valida risposta 200 OK:
wget --certificate=/etc/nginx/cert/client.crt --private-key=/etc/nginx/cert/client.key https://www.backend.com
Quello che mi manca nella mia configurazione nginx?