Der Squid-Proxy überschreibt meinen Host-Header. Was kann ich tun?

8

Ich habe folgendes Problem mit Tintenfisch:

Einige Clients greifen über einen Squid-Proxy gleichzeitig auf 62 Server zu. Alle Server haben denselben Hostnamen (www.example.com), aber unterschiedliche öffentliche IP-Adressen (123.123.123.2 bis 123.123.123.63). Der Serverbesitzer verwendet eine Art DNS-Round-Robin.

Ich habe nur Zugriff auf den Squid-Server und die Clients. Die Verbindung zu den Servern ist nur über die Proxy-IPs zulässig.

Ohne Proxy sende ich nur eine Anfrage zum Laden von Daten von http // 123.123.123.5 / dataforme, aber ich sende den Host-Header "www.example.com". Das funktioniert so wie es sollte.

Aber jetzt mit Squid als Nicht-Caching-Proxy ist dies nicht mehr möglich. Squid überschreibt den Host-Header der gesendeten Anfrage. Auf diese Weise weiß der Zielserver nicht, welche Daten zu liefern sind, da der Host-Header nicht korrekt übertragen wird.

ich setze

url_rewrite_host_header off

Dies hat jedoch keine Auswirkung. Es scheint, dass diese Option nur verwendet wird, wenn Squid als Redirector verwendet wird. Das mache ich nicht.

Folgendes funktioniert, wenn keine anderen Websites abgerufen werden müssen:

header_access Host deny all
header_replace Host www.example.com

Wenn ich dies tue, erhält jede Anfrage den Host-Header www.example.com. Dann ist es nicht mehr möglich, auf andere Seiten zuzugreifen.

Was kann ich machen?

Vielen Dank im Voraus für Ihre Hilfe!

Chris
quelle
In welchen Host-Header wird neu geschrieben?
Andrew B
Der Host-Header wird in die IP-Adresse umgeschrieben (in meinem Beispiel 123.123.123.5).
Chris
Haben Sie überprüft, ob es sich tatsächlich um einen Squid handelt, der den Header neu schreibt, aber nicht um eine Art DNS-Round-Robin? tcpdumpkönnte helfen ...
Kay27

Antworten:

0

Standard-Squid-Installationen tun dies nur mit fehlerhaften Anweisungen. Wenn Sie eine Standardversion verwenden, wiederholen Sie die Konfiguration von Grund auf neu. Wenn es sich um eine benutzerdefinierte Kompilierung handelt, sollten Sie den Code und die Kompilierungsoptionen überprüfen.

MTG
quelle
1
Bitte geben Sie an, welche Compiler-Optionen aktiviert werden sollen
Federico Galli
Meistens Optionen zum Umschreiben von Headern. Übrigens empfehle ich dringend, die empfohlenen Standardoptionen oder eine Standard-Binärdatei zu verwenden. Wenn Sie nicht sicher sind, was Sie kompilieren, können die Dinge mit Tintenfischen chaotisch und instabil werden.
MTG
0

Fügen Sie diese Zeilen in Ihre Tintenfischkonfiguration ein. Mal sehen, ob es hilft.

request_header_access Referer deny all
request_header_access X-Forwarded-For deny all
request_header_access Via deny all
request_header_access Cache-Control deny all
forwarded_for off
Bilal Ali Jafri
quelle