[GELÖST] Nginx als Reverse-Proxy - Problem

Debian macht sich hervorragend als Web- und Mailserver. Schau auch in den " Tipps und Tricks"-Bereich.
Antworten
CapaU
Beiträge: 7
Registriert: 07.04.2019 12:05:35

[GELÖST] Nginx als Reverse-Proxy - Problem

Beitrag von CapaU » 14.08.2019 20:21:00

Moin,

ich habe meinen Nginx-Server als Reverse-Proxy konfiguriert, funktioniert alles so weit.

Der Nginx hat die Aufgabe, bei einer bestimmten Subdomain, diese Anfragen an einen internen Apache2-Server innerhalb des Netzwerks weiterzuleiten.

Allerdings gibt es ein Problem: sofern ich am Anfang des Pfades (aha.blabla.de/MyData/) das Slash rausnehme (aha.blabla.de/MyData), leitet er mich nicht mehr weiter, sondern gibt mir anstatt die Seite, die interne IP des Apache-Servers des internen Netzwerks.

Ich habe jetzt vieles ausprobiert und im Netz gestöbert, aber ich finde einfach keine Lösung, wie ich das beheben kann.

Hier die Config:

Code: Alles auswählen

server { 
listen 80; 
server_name aha.blabla.de; 
# Umleitung zum Download-Server (Apache) 
location / { 
proxy_pass http://(Interne-IP des Apache)/; 
} 
} 

Vielleicht kann mir ja einer helfen.

Danke im Voraus.

PS: Ich habe das hier geschriebene bereits schon im deutschsprachigen Nginx-Forum geschrieben, da dort allerdings kaum jemand aktiv ist, fürchte ich, dass ich dort lange auf eine Antwort warten kann, weshalb ich das ganze hier nochmal poste.
Zuletzt geändert von CapaU am 18.08.2019 02:31:08, insgesamt 1-mal geändert.

Benutzeravatar
DynaBlaster
Beiträge: 958
Registriert: 25.03.2004 18:18:57
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: DF0://dynablaster.adf

Re: Nginx als Reverse-Proxy - Problem

Beitrag von DynaBlaster » 15.08.2019 19:43:27

Hast du da schon mit rewrite-rules rumgespielt?

Das hier sieht ganz vernünftig aus: https://www.digitalocean.com/community/ ... ding-slash. Damit solltest du in der Lage sein, je nach URL (also ob mit oder ohne angehängtes "/") dem anfrangenden Browser mitzuteilen, das er doch bitte das "/" beim nächsten Request anhängen soll.

Bin kein Nginx-Experte in Bezug auf Reverse-Proxy, dürfte aber ähnlich funktionieren wie haproxy, den wir in der Firma häufiger für ähnliches im Einsatz.

CapaU
Beiträge: 7
Registriert: 07.04.2019 12:05:35

Re: Nginx als Reverse-Proxy - Problem

Beitrag von CapaU » 17.08.2019 12:21:20

Vielen Dank :D

Ich werde mal gucken was sich machen lässt.

LG.

CapaU
Beiträge: 7
Registriert: 07.04.2019 12:05:35

Re: Nginx als Reverse-Proxy - Problem

Beitrag von CapaU » 17.08.2019 19:31:15

Soooooooo :)

Ich hab's hinbekommen, hab bissl getrickst, aber es funktioniert nun so, dass zumindest nicht mehr die interne IP mitgeliefert wird.

Hier die Config, für diejenigen, denen es interessiert:

Code: Alles auswählen

server {
        listen 80;
        server_name aha.blabla.de;
#      Umleitung zum Download-Server (Apache)
        location / {
#          rewrite ^/Main permanent;
           proxy_pass http://(InterneIP)/Main/;
           proxy_redirect     off;
           proxy_set_header   Host $host;
        }
}
Das sorgt nun dafür, dass ich Standardmäßig in den "/Main/" ohne diesen als Slash mit angeben zu müssen, direkt reingehe, sofern die Subdomain angesprochen wird. Nun ist es so, dass wenn ich nun in den weiteren Hinterordner gehe, statt "aha.blabla.de/Main/Test/" -> "aha.blabla.de/Test/" angeben brauch und sofern ich das Slash nicht mit angebe, gibt er mir 404 aus und zeigt nun den gesamten Pfad mit dem versteckten Hinterordner an, sprich: "aha.blabla.de/Test (Ohne Slash)" führt zu -> "aha.blabla.de/Main/Test/ (mit der 404 Ausgabe).

Zugegeben, ist vielleicht nicht die allerbeste Lösung, aber für meine Sache reicht's alle male aus, vielleicht finde ich da noch ein anderen Weg, bin ja auch noch neu was Nginx betrifft ^^

Insofern, vielen Dank für den Tipp :D

PS: Die auskommentierten Befehle wirken nicht, lass ich aber vorsichtshalber noch in meiner Config mit drin.

zweites PS: Ich habe soeben bemerkt, dass es eigentlich nur die / oder einer der beiden Befehle

Code: Alles auswählen

proxy_redirect     off;
proxy_set_header   Host $host;

machen, die dafür verantwortlich sind. Lässt man das soeben von mir oben beschriebene weg und ergänzt nur die Zeilen durch diesen Code, ergänzt er im Pfad einfach das Slash das fehlt und leitet nicht mehr meine interne IP weiter.

aha.blabla.de/Main/Test (Ohne Slash) führt zu -> aha.blabla.de/Main/Test/

Lag wahrscheinlich unter anderem daran, dass ich nicht drauf gekommen bin, dass mein lieber Browser diesen wunderschönen Cache speicherte, der selbst, nach dem ich die Config MEHRFACH geändert habe, immer noch der Meinung war, mir eins der älteren Ergebnisse auszuliefern, super.. :facepalm:

Nochmals Danke :D

Antworten