Tipps

Problembeschreibung hier: http://www.heise.de/security/news/meldung/43354

In /etc/apache2/sites-available/default folgendes hinzufügen:

        RewriteEngine On
        RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK)
        RewriteRule .* - [F]

Am besten ziemlich weit am Anfang. Außerdem benötigt man eine Datei /etc/apache2/mods-available/rewrite.load mit folgenden Inhalt:

LoadModule rewrite_module /usr/lib/apache2/modules/mod_rewrite.so

Dann noch einen Verweis anlegen:

ln -s /etc/apache2/mods-available/rewrite.load /etc/apache2/mods-enabled/rewrite.load

Getestet unter Debian 3.1 (unter anderen Distributionen wird das unter Umständen anders gemacht)

Fragen

Frage: kann mir dies Regeln jemand erklären (insbes. die letzten drei) -- RonnyBuchmann 2002-11-08 19:08:59

LoadModule rewrite_module     modules/mod_rewrite.so
LoadModule proxy_module       modules/libproxy.so
AddModule mod_rewrite.c
AddModule mod_proxy.c
RewriteEngine       on
ProxyRequests        on
RewriteRule /mldonkey http://localhost:4080/$1 [P,L]
RewriteRule /(submit.*) http://localhost:4080/$1 [P,L]
RewriteRule /(files.*) http://localhost:4080/$1 [P,L]
ProxyPassReverse /(.*)  http://localhost:4080/$1

Ja kann ich (hoffe ich zumindest)!

  1. Rule: Der Server dient als Reverse-Proxy und leitet /mldonkey nach localhost:4080/ um

  2. Rule: Der Server dient als Reverse-Proxy und leitet alles was mit submit beginnt nach localhost:4080/ um, wobei der Dateiname z.B. submit.html angehängt wird.

  3. Rule: analog zu 2.
  4. ProxyPassReverse: Sorgt dafür, dass die Antwort von localhost:4080 so umgeschrieben wird, dass als Absender nicht localhost:4080, sondern der ursprüngliche Anfragename genannt wird. Dadurch wir verhindert, dass ein Client bemerkt, dass hier ein Reverse-Proxy arbeitet. Alle Adressen werden so maskiert, dass es für den Client so aussieht als würde er eine Antwort von Port 80 auf der externen IP mit dem externen Namen bekommen!

Hoffe das hilft -- JanRoehrich 2002-11-08 22:25:32

Ergänzung:

In den neusten Betas müssen die Rewrite Rules noch ergänzt werden. Bei mir funktioniert folgende Konfiguration:

RewriteEngine on
ProxyRequests on
RewriteRule /mldonkey http://localhost:4080/$1 [P,L]
RewriteRule /(submit.*) http://localhost:4080/$1 [P,L]
RewriteRule /(results.*) http://localhost:4080/$1 [P,L]
RewriteRule /(commands.*) http://localhost:4080/$1 [P,L]
RewriteRule /(oneframe.*) http://localhost:4080/$1 [P,L]
RewriteRule /(noframe.*) http://localhost:4080/$1 [P,L]
RewriteRule /(files.*) http://localhost:4080/$1 [P,L]
RewriteRule /(h.css) http://localhost:4080/$1 [P,L]
RewriteRule /(dh.css) http://localhost:4080/$1 [P,L]
RewriteRule /(i.js) http://localhost:4080/$1 [P,L]
RewriteRule /(di.js) http://localhost:4080/$1 [P,L]
ProxyPassReverse /(.*) http://localhost:4080/$1

Hoffe auch dies hilft. -- Heinz Stampfli <heinz.st AT mpf.li> & CU @ www.hatepage.com

Apache/RewriteEngine (zuletzt geändert am 2009-10-27 15:37:03 durch ThomasWaldmann)