2016-03-13 6 views
6

Ich benutze Nginx als Proxy für einen Backend-Server. Der Back-End-Server verwendet auch nginx und erzwingt die Clientzertifikatauthentifizierung mit den Anweisungen ssl_client_certificate und .Nginx proxy_ssl_certificate funktioniert nicht wie erwartet

In meinem nginx-Server ich folgendes:

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; 
} 

nach the nginx docs.

Das Back-End reagiert jedoch immer noch mit einem 400-Antwortcode "No required SSL certificate was sent".

Beachten Sie, dass bei Anfragen an den Back-End-Server mit wget mit dem Client-Zertifikat ausgestellt hat, habe ich eine gültige 200-OK-Antwort erhalten:

wget --certificate=/etc/nginx/cert/client.crt --private-key=/etc/nginx/cert/client.key https://www.backend.com 

Was ich in meiner nginx Konfiguration bin fehlt?

Antwort

1

Diese post schien dieses Problem für mich zu lösen.

Ich musste die folgende Einstellung hinzufügen, um die Dinge für mich arbeiten zu lassen.

proxy_ssl_server_name  on; 
Verwandte Themen