
Ich versuche, Squid als Reverse-Proxy vor einer einzelnen Website zu verwenden, um das SSL auf dem Proxy zu entschlüsseln und dann die Verbindung zum Webserver zu verschlüsseln (um Squid als ICAP-Client für ein Zero-Trust-CDR-Produkt zu verwenden).
Ich sehe, dass hierfür zwei Konfigurationszeilen erforderlich sind:
https_port 1.2.3.4:443 accel
für den Listener und
cache_peer 1.2.4.8 parent 443
für den Webserver.
Wenn ich den Beispielen folge, die ich hier und anderswo gefunden habe, stoße ich auf verschiedene Fehler von Squid, insbesondere auf diesen:
FATAL: No valid signing certificate configured for HTTPS_port
Eine nachweislich funktionierende Konfiguration für Squid 4.x wäre sehr hilfreich!
Antwort1
Offensichtlich bezogen sich die Beispiele, die ich gefunden habe, alle auf frühere Versionen von Squid.
Meine wichtigste Erkenntnis zu diesem Problem war, dass cert=
und key=
in der https_port
Konfigurationszeile nicht mehr korrekt sind und wir stattdessen tls-cert=
und verwenden müssen tls-key=
.
Also (für Squid v4.15) brauche ich nur das Webserver-Zertifikat und seinen privaten Schlüssel und diese Zeilen in squid.conf:
https_port 1.2.3.4:443 accel defaultsite=mysite.com tls-cert=/etc/squid/myserver.pem
cache_peer 1.2.4.8 parent 443 0 no-query originserver login=PASS ssl
Dies funktioniert für eine .PEM-Datei, die das Zertifikat und den unverschlüsselten privaten Schlüssel enthält. Wenn sich der Schlüssel in einer separaten Datei befindet, sollte dies funktionieren:
https_port 1.2.3.4:443 accel defaultsite=mysite.com tls-cert=/etc/squid/myserver.pem tls-key=/etc/squid/myserver.key
cache_peer 1.2.4.8 parent 443 0 no-query originserver login=PASS ssl
Wenn dieser Schlüssel verschlüsselt ist, müssen Sie Squid entweder manuell starten (z. B. squid -N
in einer screen
Sitzung ausführen) oder eine sslpassword_program
Konfigurationszeile hinzufügen, um die PEM-Passphrase bereitzustellen.
http_port 3128
NB: Ich habe festgestellt, dass zum Starten von Squid immer noch eine http_port-Konfigurationszeile (z. B. ) erforderlich ist.
Alle Anweisungen der Konfigurationsdatei sind hier dokumentiert:http://www.squid-cache.org/Doc/config/