Squid Reverse Proxy mit SSL

Squid Reverse Proxy mit SSL

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 accelfür den Listener und cache_peer 1.2.4.8 parent 443fü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_portKonfigurationszeile 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 -Nin einer screenSitzung ausführen) oder eine sslpassword_programKonfigurationszeile hinzufügen, um die PEM-Passphrase bereitzustellen.

http_port 3128NB: 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/

verwandte Informationen