ReverseProxy zur FritzBox - nginx

Die dargestellte Konfiguration erm├Âglicht den Zugriff aus dem Internet auf die FritzBox ├╝ber einen Gateway. Dabei kann das Gateway die Authentifizierung & Verifizierung der User ├╝bernehmen und alle unerw├╝nschten Zugriffe ablehnen.

server { listen 80; server_name myGateway.info; access_log /var/log/nginx/localhost.access.log; error_log /var/log/nginx/localhost.error.log; location / { proxy_pass http://192.168.0.1; #select your IP from FritzBox }

FritzBox_Reverse_Proxy

Das ist wohl die einfachste Konfiguration die wir f├╝r den ReverseProxy verwenden k├Ânnen. Der Nachteil dabei ist wohl der Namensraum. Unter der Adresse ]http://myGateway.info ist dadurch nur die FritzBox erreichbar. Sollen parallel dazu noch weitere Applikationen ├╝ber die selbe URL erreichbar sein m├╝ssen wir die conf Datei noch um ein paar Zeilen erweitern.

Nehmen wir an, dass die FritzBox ├╝ber den Namensraum /fb/ erreicht werden soll. Die Herausforderung dabei ist wohl die FritzBox selbst. Mir ist leider keine M├Âglichkeit bekannt Einstellungen f├╝r die ausgegebenen Links der HTML Oberfl├Ąche in der Box ein zu stellen. Da f├╝r den User die Box stets ├╝ber den Pfad /fb/ angesprochen wird, die Box aber davon ausgeht dass alle Dateien direkt ├╝ber / erreicht werden k├Ânnen. Die Links zeigen dementsprechend stets auf / und werden ├╝ber den Proxy so an den Enduser weiter gegeben. Der Versuch des Browsers die verlinkten Objekte ├╝ber die / URL zu laden schlagen dementsprechend fehl.

Weiterhin leitet die Box bei dem Seitenaufruf den USER an unterschiedliche Adressen weiter, um zu pr├╝fen ob eine Anmeldung bereits erfolgte.

F├╝r die L├Âsung der beschriebenen Probleme sollte der "location" Abschnitt der KonfigDatei wie folgt angepasst werden:

location /fb { rewrite /fb/(.*) /$1 break; proxy_pass http://192.168.0.1; proxy_set_header X-Real-IP $remote_addr; proxy_set_header Host 'fritz.box'; proxy_redirect http://fritz.box/ http://myGateway.info/fb/; sub_filter '"/' '"/fb/'; sub_filter_once off; }

Die "rewrite" Zeile entfernt den /fb/ pr├Ąfix aus der Anfrage bevor diese URL an die FritzBox geschickt wird. Die Einstellung "proxy_redirect" k├╝mmert sich um die richtige Weiterleitung der 30X redirects, und der "sub_filter" ├╝berschreibt alle Links von / auf /fb/, und das nicht nur f├╝r den ersten Treffer auf einer Seite sondern f├╝r alle Links (sub_filger_once). Die beiden "proxy_set_header" Eintr├Ąge sorgen daf├╝r, dass die Box ├╝ber die richtige IP des Endusers informiert wird, und das der "Host" Header richtig gesetzt wird.


dis * phL0w Einfacher und weniger fehleranf├Ąllig w├Ąre eine Weiterleitung von / mittels Zuhilfename einer Subdomain, no? http://fb.myGateway.info/ ?