[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Problem beim Einrichten eines Reverse Proxy unter Apache



Am 18.01.2017 um 23:26 schrieb Sven Hartge <sven@svenhartge.de>:

> Thilo Engelbracht <mailinglists@engelbracht.de> wrote:
> > Am 18.01.2017 um 22:53 schrieb Sven Hartge <sven@svenhartge.de>:
> >> Thilo Engelbracht <mailinglists@engelbracht.de> wrote:
>  
> >>>            ProxyPass / http://stats.uptimerobot.com/
> >>>            ProxyPassReverse / http://stats.uptimerobot.com/
> >>>            RewriteEngine On
> >>>            RewriteCond %{REQUEST_URI} ^/?$
> >>>            RewriteRule ^(.*)$ http://stats.engelbracht.de/Qny1AuoR1 [L]
>  
> >> > Grundsätzlich funktioniert das auch - aber es gibt einen
> >> > Schönheitsfehler: Wenn jemand im Browser "stats.engelbracht.de" eingibt,
> >> > dann erscheint zwar die Statusseite. So weit, so gut. Allerdings wird in
> >> > der Adresszeile  "stats.engelbracht.de/Qny1AuoR1" angezeigt...
> >> 
> >> > Kann mir jemand sagen, wie ich die Konfiguration verändern muss, damit
> >> > in der Adresszeile nur "stats.engelbracht.de" angezeigt wird?
> >> 
> >> ProxyPass / http://stats.uptimerobot.com/Qny1AuoR1
> >> ProxyPassReverse / http://stats.uptimerobot.com/Qny1AuoR1
> >> 
> >> RewriteRule etc. fallen dann weg.
> 
> > das war zuerst auch mein Ansatz - aber das funktioniert nicht:
> > Wenn ich Deinen Vorschlag übernehme und einen reload von Apache
> > durchführe, dann wird nach der Eingabe von "stats.engelbracht.de" die
> > Seite nicht mehr korrekt angezeigt...
> 
> > Kann es sein, dass das irgendwie mit JavaScript zu tun hat?
> 
> Wahrscheinlich. mod_proxy fasst nichts innerhalb der Seite an und wenn
> man den Pfad-Teil verändert (in diesem Fall von "/Qny1AuoR1" auf "/"),
> dann geht das zumeinst schief. Es gibt dann noch mod_proxy_html, aber
> auch dieses Modul ist sehr sehr eingeschränkt in seiner Zielsetzung und
> funktioniert nicht für durch JavaScript clientseitig erzeugte dynamische
> Webseiten.
> 
> Wenn du zu proxiende Webseite (hier
> http://stats.uptimerobot.com/Qny1AuoR1) nicht mitspielt (was bei
> JavaScript eigentlich immer der Fall ist), dann hast du keine Chance das
> gewüschte umzusetzen und du wirst damit Leben müssen, den Pfad
> "/Qny1AuoR1" auch in deiner veränderten URL zu sehen.

Alles klar. Erstmal vielen Dank für die Info.

Durch Zufall bin ich auf folgende Webseite gestossen:

     https://legacy.thomas-leister.de/uptimerobot-statusseite-mit-eigener-subdomain-und-https-nutzen/

Hier wird exakt das gleiche Thema behandelt, allerdings kommt als
Webserver nginx zum Einsatz.
Der interessante Punkt: Der Autor schreibt:

     "Mit der folgenden Konfiguration kann man dann auch auf die Angabe
     der ID in der URL verzichten:"

Also genau das, was ich auch gerne hätte.

Die nginx-Konfiguration sieht wie folgt aus:

     server {
        server_name status.trashserver.net;

        listen 80;
        listen [::]:80;
        listen 443 ssl;
        listen [::]:443 ssl;

        ssl_certificate     /etc/myssl/...;
        ssl_certificate_key /etc/myssl/...;

        location / {
           proxy_set_header X-Real-IP $remote_addr;
           proxy_set_header X-NginX-Proxy true;
           proxy_set_header X-Forwarded-Proto $scheme;
           proxy_pass https://stats.uptimerobot.com/rk3R0IDJq/;
           proxy_redirect off;
        }

        location ~ ^/(.+) {
           proxy_set_header X-Real-IP $remote_addr;
           proxy_set_header X-NginX-Proxy true;
           proxy_set_header X-Forwarded-Proto $scheme;
           proxy_pass https://stats.uptimerobot.com;
           proxy_redirect off;
        }
     }

Habe einen kurzen Test durchgeführt und die URL "status.trashserver.net"
aufgerufen: Die externe URL ist nicht sichtbar!

Natürlich möchte ich jetzt nicht den Apache deinstallieren und dafür den
nginx einsetzen.
Aber vielleicht besteht ja die Möglichkeit, die oben beschriebene
nginx-Konfiguration in die Apache-Syntax zu übersetzen... Habe ich
hierdurch eine Chance, mein Ziel doch noch zu erreichen?
(Oder ist es so, dass der nginx einen Reverse Proxy technisch anders
löst als der Apache?)

> S°

Lieben Gruß,

Thilo


Reply to: