[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: squid: localhost wird zum squid-host ...hmmm.



Hallo Adrian,

in mid:[🔎] 20020818121045.6856.AZ@camco.ch stand u.a. geschrieben:

> Ein Proxy kann unterscheiden zwischen einem ProxyRequest und einem
> gewöhnlichen HTTP Request. Im Falle eines ProxyRequests den Servername
> im URL auf "localhost" vergleichen und mit der Adresse des Clients zu
> ersetzen ist es sehr einfach.

Und schlichtweg falsch.
Bleispiel:

Client: 192.168.100.10
Proxy:  192.168.100.2

Auf dem Client läuft auf 'localhost' (= 127.0.0.1) gebunden ein Webserver.

Client stellt die Anfrage für 'localhost:80' an 'Proxy', der löst nach
deinem Schema auf und stellt die Anfrage an? Richtig:

192.168.100.10

Da antwortet aber gar nichts ... denn der Daemon ist auf 'localhost'
gebunden. Kann also nix werden.
Nächste Möglichkeit: es ist etwas auf 192.168.100.10:80 gebunden ... es
muss aber nicht zwangsläufig der selber Webserver / das selbe DocRoot sein,
wie bei der Bindung auf 127.0.0.1 auf dem Client ... Ergebnis: es wird
_wieder_ die falsche Seite ausgeliefert.

Quintessenz: Wie man's macht, man macht's verkehrt. Daher ist das jetzige
Verhalten m.E.n. völlig i.O., denn es liefert die am besten voraussagbaren
Ergebnisse.
Was zum Deibel kann denn auch der arme Squid dafür, dass ein Client der
Meinung ist LOOPBACK-Anfragen (die auf localhost), IHM zukommen lassen zu
müssen; das soll und MUSS der Client brav selber entscheiden :-)

> Das wären ein paar wenige Zeilen Code.

Mag sein ... trotzdem m.E.n. überflüssige Zeilen an Code.
> Das HTTP Protokoll liefert alle nötigen Informationen dazu: die
> "RemoteAddress" (wohin sollte sonst die Antwort gesendet werden?!),

Dazu braucht's ja nun das HTTP-Protokoll nicht, die 'Remote-Adresse' ist ja
durch die TCP-Verbindung bekannt.

> Wenn ich also in meinem Browser localhost eingebe, erwarte ich auch
> localhost aus sicht meines Browsers, was meine Kiste ist (ohne angeben zu
> müssen, dass der Proxy für "localhost" nicht benützt werden soll).

Dann musst du, wenn dein Browser nicht weiß das 'locahost' _LOKAL_ ist
diesem einfach mitteilen, dass 'localhost' lokal ist ...
Was kann denn der Squid für die Unfähigkeit deines Browsers oder den Mangel
an korrekter (vollständiger?) Konfiguration auf Client-Seite?
-- 
Mit freundlichen Grüßen
Peter Palmreuther
(The Bat! v1.62/Beta1 on Windows 2000 5.0 Build 2195 Service Pack 2)

In God we trust, all others pay cash.



Reply to: