Moin!
Hier die genaue Fehlermeldung im Browser am Client:
Forbidden
You don't have permission to access /test_int.html on this server.
(Apache/2.0.48 Server at www.extern.com Port 80)
Im Error Logfile am Apache steht:
[Tue Feb 24 10:15:12 2004] [warn] proxy: No protocol handler was valid for the URL /optik_int.html. If you are using a DSO version of mod_proxy, make sure the proxy submodules are included in the configuration using LoadModule.
Ich denke, damit ist die Erklärung für das Versagen gefunden. mod_rewrite braucht offensichtlich das Proxy-Modul, um funktionieren zu können, hat es aber nicht.
Als Proxy-Submodules hab ich Folgende geladen:
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule proxy_http_module modules/mod_proxy_http.so
Sicher, dass die geladen sind? Im Config-File steht soviel Krams drin, die eine Hälfte ist dabei für DSO-Module, die andere Hälfte für was-weiß-ich-muß-ich-nachgucken.
Fehlt da vielleicht noch was?
» Und mit [R] funktioniert es?
Ja, mit der Option [R] funktionierts wie bereits im vorigen Posting erwähnt. Allerdings überschreibt ja der Browser dann die eingegebene URL zum externen Server mit der angegebenen zum internen Server.
Das ist ok. Der Browser macht dann ja einen neuen Request, und der Server antwortet - daran liegts also nicht, sondern tatsächlich an der mangelnden Proxy-Fähigkeit deines Apache.
Die Doku zu mod_rewrite fordert explizit:
"Notice: To use this functionality make sure you have the proxy module compiled into your Apache server program. If you don't know please check whether mod_proxy.c is part of the httpd -l'' output. If yes, this functionality is available to mod\_rewrite. If not, then you first have to rebuild the
httpd'' program with mod_proxy enabled."
Nun ja: "Compiled into" klingt hart, aber jedenfalls nicht nach DSO, auch wenn ich annehme, dass es auch damit funktionieren könnte. Aber wenn nicht: "compile into your apache", und die Sache könnte erledigt sein.
Jedenfalls ist der grundsätzliche Ansatzpunkt eben dein Proxymodul, was funktionieren muß, nicht deine RewriteRule.
Ach ja: Zusätzliche Schwierigkeit _könnte_ (muß aber nicht) die Verwendung von SSL sein. Zu Testzwecken mal eine http-URL anzufordern (muß ja nicht vom internen Server sein, kann ja auch www.google.de sein) wäre vielleicht nicht verkehrt.
- Sven Rautenberg
--
"Habe den Mut, dich deines eigenen Verstandes zu bedienen!" (Immanuel Kant)