Header Weiterleitung bei mod_rewrite
Matthias
- webserver
Hallo folgendes Problem:
in einer .htaccess ist eine modrewrite Regel eingebunden.
RewriteEngine on
RewriteRule ^$ http://myhost:1234/mypage [P]
RewriteRule ^mypage/(.*) http://myhost:1234/mypage/$1 [QSA,P]
Soweit funktioniert das ganze.
Der Apache kann direkt übers Netz aufgerufen werden. Die Applikation / Webserver steht hinter einer Firewall.
Bei der Auswertung der Logfiles des 2. Applikationsservers erscheint jedoch im Log die IP Adresse des Apache Servers und nicht des Requestors.
Wo muss ich nun drehen, dass die HTTP Header weiter geleitet werden?
Oder wird das ggf. durch die Firewall geschluckt?
Viele Güsse Matthias
Könnte diese schon die Lösung sein?
SetEnvIfNoCase Host Apache.Org Remote_Addr=%{REMOTE_HOST}
SetEnvIfNoCase Host Apache.Org REMOTE_HOST=%{REMOTE_HOST}
Viele Grüsse Matthias
Hallo Matthias,
RewriteRule ^$ http://myhost:1234/mypage [P]
RewriteRule ^mypage/(.*) http://myhost:1234/mypage/$1 [QSA,P]
Wenn du das / mit in die Klammer packst und den Slash vor $1 wegmachst, reicht eine Regel.
Der Apache kann direkt übers Netz aufgerufen werden. Die Applikation / Webserver steht hinter einer Firewall.
Bei der Auswertung der Logfiles des 2. Applikationsservers erscheint jedoch im Log die IP Adresse des Apache Servers und nicht des Requestors.
Wie auch, der Client gar nicht auf „myhost“ zugreifen kann. Stattdessen holt der, den du Apache nennst, die Daten vom „myhost“. Das bewirkt (vermute ich, hab nicht nachgeguckt) ja auch das P-Flag.
Du könntest irgendwie (Aufruf der Resource auf myhost durch ein extra Script, nicht Apache) dafür sorgen, dass du selbst Header für die Anfrage setzen kannst, z.B. X-Original-IP oder so, die kannst du dann auf myhost in den Logs verwenden.
Viele Grüße aus Freiburg,
Marian
Du könntest irgendwie (Aufruf der Resource auf myhost durch ein extra Script, nicht Apache) dafür sorgen, dass du selbst Header für die Anfrage setzen kannst, z.B. X-Original-IP oder so, die kannst du dann auf myhost in den Logs verwenden.
Das heisst, dem Apachen kann man es nicht beibringen, dass er den HTTP Header transparent weiter gibt?
Gruss Matthias
Hallo Matthias,
Du könntest irgendwie (Aufruf der Resource auf myhost durch ein extra Script, nicht Apache) dafür sorgen, dass du selbst Header für die Anfrage setzen kannst, z.B. X-Original-IP oder so, die kannst du dann auf myhost in den Logs verwenden.
Das heisst, dem Apachen kann man es nicht beibringen, dass er den HTTP Header transparent weiter gibt?
Was meinst du mit „transparent“?
Die IP-Adresse ist kein HTTP-Header, sondern ein TCP/IP-Header, und den solltest du nicht verändern, dann werden die Daten nämlich nicht mehr an dich geschickt.
Viele Grüße aus Freiburg,
Marian