ich blicks einfach nicht mit diesen proxys O.o Nginx


luckyheiko
Go to solution Solved by MAM59,

Recommended Posts

Hallo

hab mir schon paar videos angeschaut und paar beiträge gelesen

 

aber irgendwie bekomm ich es nicht auf die Kette.

bei dem Vaultvarden das ich das /admin nicht durchschläuse hätte ich sicher noch irgendwi hinbekommen.

 

aber bei den Durchleitungen. (geht mir um Port 22)

grafik.thumb.png.f7d7371bee6a194e88ee76da5c4d60fa.png

ich hab das schon mal eingegeben habe im Proxy eine 'Umleitung' von 22 auf 2222

da die ganze Zeit nichts am Endlessh angekommen ist, bin ich darauf gekommen.

Na klar wenn der Docker nicht auf 22 Reagiert, kann er auch nicht weiterleiten.

 

dann wollte ich die Ports einpflegen, aber das 'geht gar nicht'?! oder ich sehs nicht

ich sehe nur einen Port (HostPort), aber ich muss das ja in den Docker / oder aus dem Docker bekommen also fehlt doch die zweite abgabe

z.B. 22:22 und 2222:2222 oder sehe ich das falsch?

 

hoffe mir kann grad jemand die Schuppen von den Augen nehmen.

danke schon mal

 

Link to comment
  • Solution

Die Hauptschuppe besteht darin, dass Du versuchst, das SSH Protokoll auf den armen NGINX loszulassen.

 

Der hat damit nix am Hut, der Docker ist nur für HTTP(80) und HTTPS(443) "zuständig". Andere Sachen wie FTP oder eben SSH kann er gar nicht tunneln.

 

NGINX ist ein Webproxy, was Du suchst ist ein "Portproxy".

 

Werf mal einen strengeren Blick in Deinen Router. Viele (z.B. Fritzbox) bieten die Möglichkeit, Ports weiterzuleiten ("Freigabe") und dabei auch andere Zielports ("Umleitung") zu wählen.

 

Ach ja: Port 22 ist von UNRAID selber belegt, könnte eh nicht umgelenkt werden wenn Du nicht auf Fernadministration verzichten möchtest.

Edited by MAM59
  • Like 1
  • Thanks 1
Link to comment
8 minutes ago, luckyheiko said:

ich dachte der nginx kann 'alles'

 

naja, nginx an sich hätte noch das stream modul, das ist mehr oder weniger dass was du suchst, nur ist das "sinnfrei" da du da keine header, Name Steuerung hast und auch einen separaten Port nutzen musst, sprich, am Ende das Gleiche wie wenn du den Port einfach direkt weiterleitest ...

 

es gibt zwar für das ein oder andere Szenario da einen workaround mit einem speziellen ssl modul und etwas komplexerem Setup, aber auch das würde ich so nicht empfehlen ... ;) und der NPM ist übrigens die "lite" Vriante, dafür "easy as Dell" per webui einzurichten ... wobei man auch da vieles ja manuell "nachpflegen" kann außerhalb der webui, nur dann wäre swag (oder NGINX nativ) die bessere Wahl da du eh durch die configs manuell musst ...

Link to comment

jetzt muss ich doch noch mal Fragen ..

ich habe den ngnix und will 'nur' den vaultwarden ins internet bringen.

ich habe einen Proxy Host angelegt

grafik.png.f54442d2a2f32ef1051be1ef20764ac6.png

Seite kann ich von außen erreichen.

 

aber sobald ich hinter die Domail /admin schreibe, komme ich auf die Admin Seite was ich nicht möchte. (egal wie gut das PW die soll nicht nach außen)

dann hatte ich mit /admin und /admin/ oder wie hier zu sehen mit * locations angelegt

grafik.png.20cd093934ec281738f06d2d40ba5209.png

 

aber dennoch ist die Seite vom Internet erreichbar.

 

selbst mir einem Redirekt bekomm ichs nicht hin.

grafik.png.3e55995c617060651c35c5db97adca08.png

 

könnte mir jemand helfen das Problem zu lösen.

oder ist das Unlösbar?

Link to comment

Ja, das geht, ist aber etwas tricky.

 

Bevor Du IRGENDWAS anfängst, Du musst Deinen Browsercache löschen! Du hast da einen 308 redirect probiert, der ist FEST EINGEBRANNT!

Du kannst nun ändern, was Du willst, der 308 bleibt erhalten. Beste Art um sich selber zu ver@rschen!

Für Experimente immer nur "temporäre Redirects" nehmen, les dazu hier.

 

Also, was Du jetzt willst, ist ersmal ein 307 redirect, sonst bist Du nur noch am Cache löschen bei jedem Fehlversuch. Erst wenn alles fluppt, kannst Du 301 oder 308 nehmen.

 

Vorwort verstanden? dann kommen wir zur eigenlichen Frage:

Unlösbar? nein

Einfach? auch nicht 🙂

Der NGINX Proxy Manager bietet Dir ein Advance Tab, da kannst Du Schweinereien einbauen.

grafik.thumb.png.38b72bafe26e7e95f5aa48bb50557b01.png

Besonders wichtig hierbei ist die Fußnote! Sobald Du hier IRGENDWAS einträgst, musst Du ALLES eintragen, auch den Kram, den NPM Dir normalerweise automatisch einbaut!

Das ist etwas blöd, weil man den Kram im Normalfalle gar nicht zu Gesicht bekommt. Da musst Du schon auf die Shell runter und Dir die Dateien von Hand angucken.

 

Ich mach hier mal ein Cut&Paste, aber das erfüllt bei mir die Aufgabe, soviele Header wie möglich zu löschen, weil sonst hier so eine ESP32Cam die Speicherkrise kriegt. Im Normalfalle willst Du die Header dann durchlassen.

location / 
{
  proxy_set_header Host $host;
  proxy_set_header X-Real-IP $remote_addr;
  proxy_pass       $forward_scheme://$server:$port$request_uri;
}

Ich hab mal nur die durchgelassen, die erforderlich sind, Du musst eventuell noch welche hinzufügen, wenn Deine geproxiete App meckern sollte.

 

Nach soviel Vorarbeit kommen wir nun zum eigentlichen Punkt: da drunter musst Du noch schreiben:

location /admin
{
 return 307 https://primarydomain/;
}

Oder so ähnlich (ausprobieren!!!) (primarydomain natürlich durch Deine Wunschdomäne ersetzen).

Sollte dann so funktionieren, dass alle Seiten zum Proxy Host weitergeleitet werden, aber alles, was mit /admin anfängt, auf / umgeleitet wird.

 

Wie gesagt, probieren und langsam ranpirschen. mit dem 307 hast Du unendlich viele Fehlversuche frei. Kann später drinbleiben, oder gegen 308 getauscht werden.

 

Das Ausprobieren ist nötig, weil Deine Seite noch bislang ungeahnte Nebeneffekte haben könnte...

 

Update: kann auch sein, dass der /admin Block ÜBER dem / stehen muß. Ich hab den Kram nie gebraucht, also: AUSPROBIEREN

 

Edited by MAM59
  • Thanks 1
Link to comment
23 hours ago, MAM59 said:

Bevor Du IRGENDWAS anfängst, Du musst Deinen Browsercache löschen! Du hast da einen 308 redirect probiert, der ist FEST EINGEBRANNT!

Als Trick nehme ich gerne, dass ich hinter den Link noch ein "?Blabla" packe und beim nächsten Versuch ein "?Blub" usw. Oder was auch gehen sollte, ist die Dev Ansicht in Chrome einzuschalten und den Cache dort zu deaktivieren.

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.