Lage:
Ich möchte, dass dies funktioniert: Anfragen kommen von Clients und gehen über den 443-Port (ssl) an Haproxy und müssen dann über den 80-Port an das Backend gesendet werden.
Ich habe ein Serverzertifikat, das von einem Zwischenzertifikat (ca1), ca1-Zertifikat und Clientzertifikat vergeben wird. ABER ich habe keine Lösung gefunden, um das richtige Serverzertifikat von der Windows-Zertifizierungsstelle beim Haproxy-Server (Ubuntu) anzufordern. kann an vorlagen liegen. Ich habe vom Windows-Computer ein Serverzertifikat angefordert und es auf Haproxy kopiert.
UND PROBLEM IST HAProxy-Protokoll haben diesen Fehler "SSL-Client-Kette kann nicht überprüft werden"
Konfigurations-Haproxy:
Frontend https_frontend
bind 192.168.14.167:443 ssl crt /etc/haproxy/cert/request/server.pem ca-datei /etc/haproxy/cert/request/ca1-certificate.pem überprüfe optional crt-ignore-err all no-sslv3
Modus http
log / dev / log local7
Option httplog
use_backend web_server_1 if {ssl_fc_has_crt}
default_backend web_server_2
Backend web_server_1
Modus http
Option httplog
Server w7 192.168.11.109:80 überprüfen
backend web_server_2
Modus http
Option httplog
Server XP 192.168.13.205:80 überprüfen
Dieses Schema funktioniert nicht.
zusätzliche info: log von winXP, wo ich opennssl ausgeführt habe
C: \ OpenSSL-Win32 \ bin> openssl s_client -connect haproxy2: 443 -cert client.pem -CAfile ca1-certificate.pem -state -showcerts
316: Fehler: 14094418: SSL-Routinen: SSL3_READ_BYTES: tlsv1-Warnung unbekannt ca:. \ Ssl \ s3_pkt.c: 1275: SSL-Warnungsnummer 48
316: Fehler: 140790E5: SSL-Routinen: SSL23_WRITE: SSL-Handshake-Fehler:. \ Ssl \ s23_lib.c: 184: ... cer info ... Rückgabecode überprüfen: 20 (lokales Ausstellerzertifikat kann nicht abgerufen werden)
(Entschuldigung für mein Englisch, wenn es schlecht ist) Ich habe viele Beiträge darüber gelesen, aber keine Lösung gefunden.
quelle