Squid als Reserveproxy für HTTPS

Squid als Reserveproxy für HTTPS

Auf einer Debian-Maschine laufen Squid und Apache. HTTPs ist mit Certbot (Lets Encrypt) aktiviert.

Ich habe mehrere Domänen (Vhosts) und verwende eine IP-Adresse für alle Domänen.

Apache lauscht auf Port 81 (HTTP) und 444 (HTTPS)

Meine squid.conf sieht folgendermaßen aus:

# Incoming Connections
http_port 80 accel
cache_peer localhost parent 81 0 no-query originserver
https_port 443 acceldefaultsite=yourwebserver vhost
cache_peer localhost parent 444 0 no-query originserver

# ACL
http_access allow all

# Allowed Ports
acl SSL_ports port 443          # https
acl Safe_ports port 80          # http
acl CONNECT method CONNECT

Mein Problem: Squid fordert Zertifikate an, um HTTPS zu aktivieren, wenn ich den Dienst mit der obigen Konfiguration starte.

Aber für jede Domäne verwende ich unterschiedliche Zertifikate. Wie kann ich Squid zwingen, nur 443 auf 444 localhost umzuleiten?

Antwort1

Squid fordert Zertifikate an, um HTTPS zu aktivieren

Das ist die ganze Idee von HTTPS. Sie werdendefinitivSie benötigen Zertifikate, um zertifikatgeschützte Inhalte bereitzustellen. Andernfalls hätten Sie keinen HTTP-Proxy und würden stattdessen NAT oder einen TCP-Proxy verwenden (wie nginx mit UPSTREAM-Anbietern).

Aber für jede Domain verwende ich unterschiedliche Zertifikate.

Das ist die Idee von SSL (TLS) und der Grund, warum man verschiedene Listener mit unterschiedlichen Eigenschaften konfigurieren kann (lies: muss). Oder man verwendet einfach TCP-Forwarding ohne SSL-Terminierung (lies: Offloading).

In squid3der Vhost-Konfiguration wird Folgendes durchgeführt:

https_port serverone.com:443 cert=/etc/ssl/serverone.pem vhost
https_port servertwo.com:443 cert=/etc/ssl/servertwo.pem vhost

cache_peer lanserverone parent 80 0 name=lanserverone no-query originserver
cache_peer_domain lanserverone serverone.com

cache_peer lanservertwo parent 80 0 name=lanservertwono-query originserver
cache_peer_domain lanservertwo servertwo.com

Wie kann ich Squid zwingen, 443 auf 444 localhost umzuleiten?

Klare Antwort: Das geht nicht. Versuchen Sie es mit Nginx mit Upstream oder führen Sie einfach NAT in Ihren Routern aus.

verwandte Informationen