[Mapbender-users] Mapbender3 hinter Reverse Proxy

Christian Wygoda christian.wygoda at wheregroup.com
Tue Aug 20 06:30:12 PDT 2013


Hallo,

bei der Nutzung des Frontend-Controllers (app.php) wird immer der Cache
benutzt, wenn vorhanden. Die Konfiguration wird dort mitgecacht. Der
Entwicklungs-Frontend-Controller (app_dev.php) baut den Cache aktiv neu,
auf Kosten der Performance. Dieser Controller ist standardmäßig auch nur
über localhost aufrufbar (das kann aber in der Datei auskommentiert
werden).

Das erste Problem ruft bei mir auf Anhieb den Gedanken "mod_rewrite" auf
den Plan, falls eingesetzt, müsste dort die RewriteBase richtig gesetzt
sein...?!

Das zweite kann ich von hier aus nicht erkennen, einen Port 81 kann ich
nirgends finden?

Viele Grüße,
  Chr. Wygoda

On Mon, 2013-08-19 at 14:24 +0200, krueger roland wrote:
> Hallo Herr Wygoda,
> 
>  
> 
> vielen Dank, Ihre Antwort hat mir weitergeholfen. Allerdings habe ich
> weiterhin Probleme für eine zufriedenstellende Funktionälität.
> 
>  
> 
> Erst habe ich eine Weile rumprobiert und nicht nachvollziehen können
> bei welchen Anpassungen in 'app/config/config.yml' es Veränderungen
> gibt. Irgendwann bin ich auf die Idee gekommen den Symfony2-Cache zu
> löschen.
> Eigenartigerweise löscht 'app/console cache:clear' den Cache nicht
> vollständig.
> Also habe ich den Cache manuell gelöscht. Ich habe einfach alle
> Dateien und Verzeichnisse unter 'app/cache/' manuelle gelöscht. Nun
> konnte ich Veränderungen an der 'app/config/config.yml'
> nachvollziehen.
> 
> Ich habe in 'app/config/config.yml' folgende Ergänzung eingefügt.
> 
> framework:
>     # trust_proxy_headers: true                 # --> Variante_1
>     trusted_proxies:       [ReverseProxyIP]     # --> Variante_2
>     # trusted_proxies:     [BeliebigeFalscheIP] # --> Variante_3
> 
> Alles Folgende, das ich nun schreibe gilt für alle drei Varianten.
> Egal ob ich in 'app/config/config.yml' Variante_1, Variante_2 oder
> Variante_3 eintrage, das Verhalten ist immer gleich. Eigenartiger
> Weise ist das Verhalten bei einer FalschenIP für den Reverse Proxy
> ebenfalls gleich. Dafür habe ich keine Erklärung.
> 
> Bei:
> http://www.o-p-r.info/geo1/mb3/app.php
> hat sich nichts verändert. Egal ob man Variante_1, Variante_2,
> Variante_3 oder nichts einträgt, immer ist die Webseite auf den ersten
> Blick kaputt. Obwohl die ReverseProxyWeiterleitung genauso
> eingerichtet ist wie bei http://www.o-p-r.info/mb3/app.php
> Hier sieht man auf den ersten Blick, dass die Webseite kaputt ist. Die
> eingebauten Links sind kaputt.
> 
> Bei:
> http://www.o-p-r.info/mb3/app.php
> scheinen die Links nun o.k. zu sein. Allerdings besteht immernoch das
> Problem beim Login und 2-tes Login. Hier steht in der URL nun Port 81.
> Der Reverseproxy leitet auf geo1.kv.o-p-r.de:81 weiter, da eine
> Firewall dazwischen ist, dürfte aber eigentlich kein Problem sein. Der
> Klick auf den Login-Button scheint ein POST-Aufruf zu sein, hier wird
> auf 'http://www.o-p-r.info:81/mb3/app.php/user/login' verwiesen, was
> natürlich nicht funktionieren kann. Alle anderen GET-Links scheinen
> o.k. zu sein, hier ist ":81" nicht in den Links enthalten. Beim POST
> scheint Symfony2 ':81' anzuhängen, was nicht korrekt ist. Warum?
> 
> Hat jemand eine Idee, wie ich das Problem mit
> -1.- 'http://www.o-p-r.info/geo1/mb3/app.php' und
> -2.- 'http://www.o-p-r.info/mb3/app.php' Port 81 bei POST
> einkreisen und lösen kann.
> 
> Vielen Dank und beste Grüße
> 
>  
> 
> Roland Krüger
> Sachgebietsleiter IT-Service/IT-GIS
> 
>  
> 
>  
> 
>         -----Ursprüngliche Nachricht-----
>         Von: Christian Wygoda <Christian.Wygoda at wheregroup.com>
>         Gesendet: Do 15.08.2013 11:01
>         Betreff: Re: [Mapbender-users] Mapbender3 hinter Reverse Proxy
>         An: Mapbender User List <mapbender_users at lists.osgeo.org>; 
>         Hallo Herr Krüger,
>         
>         Hier muss die Konfiguration Mapbender3 entsprechend angepasst
>         werden. Das zugrunde liegende Framework (Symfony2) traut aus
>         Sicherheitsgründen per Default keinen Proxy-Headern.
>         
>         Details dazu allgemein für Symfony2 können Sie unter [0]
>         nachlesen. Entscheidend ist die Einstellung framework ->
>         trustedproxies (bzw. veraltet framework ->
>         trust_proxy_headers, welche noch geht, aber mit einem der
>         nächsten Updates durch ein Symfony2-Update weg fallen wird),
>         wie sie unter [1] dokumentiert ist.
>         
>         Den Parameter müssen Sie neu in der app/config/config.yml
>         eintragen, er ist standardmäßig dort nicht vorhanden. Sie
>         müssen darauf achten, keine Tab-Zeichen einzufügen, die sind
>         leider im YAML-Format verboten, aber die meisten Editoren
>         fügen sie selbst in als YAML erkannte Dokumente ein. Das nur
>         als Hinweis... :)
>         
>         
>         Mit besten Grüßen,
>         Chr. Wygoda
>         
>         [0]
>         http://symfony.com/doc/2.1/components/http_foundation/trusting_proxies.html
>         [1]
>         http://symfony.com/doc/2.1/reference/configuration/framework.html#trusted-proxies
>         
>         ----------------ursprüngliche Nachricht-----------------
>         Von: "krueger roland" roland.krueger at o-p-r.de 
>         An: "mapbender_users at lists.osgeo.org "
>         mapbender_users at lists.osgeo.org 
>         Datum: Wed, 14 Aug 2013 18:10:57 +0200
>         -------------------------------------------------
>         
>         
>         > Hallo Mapbender-User,
>         > 
>         > 
>         > Ich habe Mapbender3 gemäß der Dokumentation installiert.
>         Intern ist der Server 
>         > und Mapbender3 problemlos über 
>         > http://geo1.myinternserver.de/mb3/app.php erreichbar. Alles 
>         > funktioniert problemlos.
>         > http://geo1.myinternserver.de soll direkt nur intern im
>         Intranet und nicht 
>         > direkt aus dem Internet erreichbar sein.
>         > 
>         > Hier ein Ausschnitt aus apache2.conf
>         > <VirtualHost *:80>
>         > ServerName geo1.myinternserver.de
>         > Alias /mb3 /var/mb3/web/
>         > <Directory /var/mb3/web/>
>         > Options MultiViews
>         > DirectoryIndex app.php
>         > Order allow,deny
>         > Allow from all
>         > </Directory>
>         > </VirtualHost>
>         > 
>         > Aus dem Internet soll die Mapbender3-Installation jedoch
>         über einen Reverse 
>         > Proxy erreichbar sein.
>         > Doch leider funktioniert die Mapbender3-Webseite nicht
>         vernünftig durch den 
>         > Reverse Proxy.
>         > 
>         > Hier sind zwei URLs, die aus dem Internet erreichbar sind.
>         Der Reverse Proxy 
>         > schickt beide an die
>         > Mapbender3-Installation unter 
>         > http://geo1.myinternserver.de/mb3/app.php weiter.
>         > 
>         > http://www.o-p-r.info/geo1/mb3/app.php
>         > Hier sind man auf den ersten Blick, dass die Webseite kaputt
>         ist. Die eingebauten 
>         > Links sind z.B. kaputt.
>         > 
>         > http://www.o-p-r.info/mb3/app.php
>         > Hier schein alles auf den ersten Blick o.k. zu sein. Wenn
>         man jedoch auf "Login" 
>         > klick und anschließend nach
>         > Eingabe User/Password nochmal auf Login klickt merkt man,
>         dass auch hier die 
>         > Links kaputt sind.
>         > Man kann übrigens ohne die Eingabe von Username/Password
>         gleich das zweite Mal 
>         > auf Login klicken. Es kommt der Fehler:
>         > The requested URL /geo1mb3/app.php/user/login was not found
>         on this server.
>         > Die URL /geo1mb3/app.php/user/login ist natürlich falsch. Es
>         müsste auf
>         > http://www.o-p-r.info/mb3/app.php/user/login gehen.
>         > 
>         > Ich vermute, dass der Reverse Proxy einige URLs nicht
>         korrekt umschreibt. Liegt 
>         > das evtl. am Symfony2 Framework?
>         > Ich habe keine Erfahrung mit Symfony2.
>         > Gibt es eine Dokumentation was beim Betrieb von Mapbender3
>         hinter einem Reverse 
>         > Proxy beachtet werden muss.
>         > 
>         > Mit Mapbender2.x hatte es hinter dem Reverse Proxy immer
>         problemlos 
>         > funktioniert.
>         > 
>         > Mit freundlichen Grüßen
>         > 
>         > Roland Krüger
>         > Sachgebietsleiter IT-Service/IT-GIS
>         > 
>         > ======================================
>         > Landkreis Ostprignitz-Ruppin
>         > Kataster- und Vermessungsamt
>         > 
>         > Sachgebiet IT-Service/IT-GIS
>         > 
>         > Heinrich-Rau-Straße 27-30
>         > 
>         > 16816 Neuruppin
>         > Telefon: +49 3391 688-6238
>         > Email: roland.krueger at o-p-r.de 
>         > ======================================
>         > 
>         > 
>         > 
>         
>         __________________________________________________
>         > _______________________________________________
>         > Mapbender_users mailing list
>         > Mapbender_users at lists.osgeo.org 
>         > http://lists.osgeo.org/mailman/listinfo/mapbender_users
>         > 
>         
>         
>         _______________________________________________
>         Mapbender_users mailing list
>         Mapbender_users at lists.osgeo.org
>         http://lists.osgeo.org/mailman/listinfo/mapbender_users

-- 
-- 
********************************************
AGIT25 Symposium und Expo 2013
03.-05. Juli 2013 in Salzburg
www.agit.at
********************************************
--------------------------------------------
WhereGroup GmbH & Co. KG
Eifelstraße 7
53119 Bonn
Germany

Christian Wygoda
Anwendungsentwickler

Fon: +49 (0)228 / 90 90 38 - 15
Fax: +49 (0)228 / 90 90 38 - 11

info at wheregroup.com
www.wheregroup.com
Amtsgericht Bonn, HRA 6788
--------------------------------------------
Komplementärin:
WhereGroup Verwaltungs GmbH
vertreten durch:
Olaf Knopp, Peter Stamm
--------------------------------------------



More information about the Mapbender_users mailing list