Paperless NGX hinter Reverse Proxy (NGINX)

Nebuk

Lieutenant
Registriert
Sep. 2009
Beiträge
924
Hallo zusammen

Vorweg, ich bin mir hier nicht sicher, ob ich in diesem Bereich richtig bin. Falls nicht, wäre ich froh, wenn jemand den Thread verschieben könnte oder zumacht und mir sagt, wo es richtig wäre. :-)

Seit einiger Zeit habe ich Probleme Paperless NGX extern aufzurufen. Bisher konnte ich es via mypaperless.mydomain.com aufrufen, jetzt schaffe ich es nur noch über die interne IP. Über die URL kann ich sie zwar erreichen, doch der Reverse Proxy lässt mich irgendwie nicht rein.

Zum Aufbau, bzw. wie ich darauf zugreifen möchte:

1729284895157.png


  • Ich greife unterwegs von meinem Smartphone auf Paperless NGX zu.
  • Dazu rufe ich eben mypaperless.mydomain.com auf. Die Domain besitze ich und ein DynDNS Eintrag auf mein NAS ist eingerichtet (andere Apps funktionieren).
  • Auf dem NAS läuft Nginx und verwaltet unter anderem die Zuordnung von mypaperless.mydomain.com auf 192.168.1.100:8777 (die IP vom NAS und der Port von Paperless NGX).
  • Der Reverse Proxy (Nginx) leitet mich, wie konfiguriert, zur Paperless Webseite weiter, öffnet aber zuvor seine eigene Loginmaske. Dieser erste Loginschirm habe ich eingerichtet, damit man nicht so schnell "einbrechen" kann. Das Passwort ändere ich regelmässig und hat eine anständige Länge.
  • Ich gebe den Loginnamen und das Passwort ein (Copy&Paste aus dem Passwortmanager) und bestätige
  • Jetzt werde ich wieder zu dieser Loginmaske geworfen und werde nicht an Paperless weitergeleitet. Früher hat das funktioniert.
1729286202325.png


Die Einstellungen auf dem NGINX sehen so aus:

1729285556503.png


1729286259106.png
1729286278799.png


Die anderen Einstellungen habe ich so belassen.
Die Access List müsste auch passen, da die anderen Dienste die gleiche Access List hinterlegt haben und dort klappts.

Über die lokale IP Adresse kann ich auf Paperless zugreifen und mich über die Paperless Loginseite einloggen (dort umgehe ich die Loginmaske vom Nginx).

Über den Reverse Proxy kann ich mich nicht ordnungsgemäss authentifiziere, oder diese wird nicht korrekt weitergereicht. Ich bleibe also stecken. Deswegen müsste der Fehler meiner Meinung nach beim Nginx bzw. dessen Einstellungen gesucht werden? Nur habe ich keine Ahnung, was hier falsch ist.

Beim Aufrufen der DevTools, bevor ich etwas eingebe, sehe ich:

1729287010344.png


401 heisst "Unauthorized" und ist ähnlich zu 403 "Forbidden". Ich werde nicht weitergeleitet, weil die benötigte Authentifizierung nicht passt oder fehlt. Ich weiss jetzt aber nicht, ob das früher auch schon so war :(
Keine Ahnung was das für eine manifest.webmanifest Datei ist bzw. wo ich die finde. Die Datei müsste bei Paperless liegen? Hier (https://docs.paperless-ngx.com/configuration/) habe ich nichts dazu gefunden.

Hat jemand eine Idee, was da faul sein könnte oder gar wie man es behebt?

Vielen Dank für die Unterstützung
 
Wahrscheinlich kollidiert deine eigene Login-Maske mit dem Login von paperless. Laut der Doku gibt es Optionen wie z.B. PAPERLESS_ENABLE_HTTP_REMOTE_USER . In einer Corporate Umgebung ist das hilfreich, weil du dann am Webserver SSO/MFA machen kannst und die Applikation dort einfach die Daten übernimmt.

Ich würde heutzutage keinen Webserver/etc direkt so ins Internet hängen. Hast du mal über z.B. Wireguard als VPN nachgedacht? ;-)
 
  • Gefällt mir
Reaktionen: ququ, Blutomen und [ACE].:SHARK:.
Nebuk schrieb:
Hat jemand eine Idee, was da faul sein könnte oder gar wie man es behebt?
naja, schalte zum Start mal die http auth in nginx aus.

das feature ist ja http auth und kann on/off gesetzt werden, nutzt man meist nur bei Services welche keine eigene auth haben, aber egal.

zum Test würde ich das aus schalten und schauen ob der Reverse Proxy an sich mit Paperless noch geht, wenn ja, würde ich mir das Thema "access list" (so nennt sich das im nginx proxy manager) anschauen und ggf. neu konfigurieren ...

da du ja sagst du änderst da auch noch öfters das Passwort ... solltest du dich ja damit auskennen ;)

ich tippe sogar eher das du einfach einen falschen user / pass bei der http auth eingibst ;) und daher nicht weiter kommst ... ich lese oben nur copy / paste ...

es gibt Dienste die haben ein Problem mit vorgeschaltetem basic http auth, ich hab es hier mal gerade kurz aktiviert für mein paperless, geht aber ohne Murren, daher wird es daran nicht liegen ...

ich bin jetzt zwar swag user und da geht das ohne GUI, aber die Funktion ist die Gleiche.

das wäre in der manuellen Konfiguration der Eintrag zu der Funktion

1729313601371.png


ps. LAN IP's zu maskieren ist übrigens sinnfrei ... erschwert nur oft Fehler zu finden, gerade im Reverse Proxy Kontext mit Weiterleitungen zu Dockers usw ... nur als Hinweis ... Domain verstehe ich ja ;)
 
Hallo zusammen

Vielen Dank für die Antworten.

@JumpingCat
Ja, VPN ist möglich und habe ich bereits auch jetzt schon. Ist aber irgendwie nicht ganz so "sexy", da ich auf dem Mobile-Device jeweils zuvor das VPN aktivieren muss bzw. schauen muss, dass es aktiv ist. Securitytechnisch ist VPN natürlich besser, da ich aber zwei Loginmasken habe (jeweils nur 1 User und sehr langes Passwort, was sich regelmässig ändert) ist das wohl auch ganz passabel.

So wie ich PAPERLESS_ENABLE_HTTP_REMOTE_USER verstehe, schalte ich praktisch eine Authentifizierung davor? Wenn man SSO benutzt, kann man das nutzen. Dabei wird der RemoteUser über die Header weitergegeben.

@alturismo
"http auth" habe ich mal deaktiviert und da funktionierte es.
Die "access list" habe ich ebenfalls zurückgesetzt, sprich ein neues erstellt. Auch das hat nicht geholfen. Ich hab den Usernamen und das Passwort auch stark vereinfacht und händisch eingetippt als auch per Copy&Past eingefügt (Zwischenablage wurde nicht überschrieben). Leider kein Erfolg.

auth_basic + auth_basic_user_file habe ich im NGINX auch mal so konfiguriert, wie du (nicht im GUI). Auch das hat nicht funktioniert. Die anderen Applikationen liefen damit aber auch problemlos, nur eben Paperless nicht.


Was ich jetzt ebenfalls gemacht habe und funktioniert hat ist, dass ich den NGINX neu aufgesetzt bzw. neu gepullt habe. Danach konnte ich mich ohne Probleme Authentifizieren. Keine Ahnung, was hier an der Instanz bzw. der Konfig kaputt war. :-/
 
Nebuk schrieb:
Was ich jetzt ebenfalls gemacht habe und funktioniert hat ist, dass ich den NGINX neu aufgesetzt bzw. neu gepullt habe. Danach konnte ich mich ohne Probleme Authentifizieren. Keine Ahnung, was hier an der Instanz bzw. der Konfig kaputt war. :-/
Hauptsache gelöst, ich nutze den "click & go" Nginx Proxy Manager nicht, daher kann ich nicht wirklich was dazu sagen ... hat sich sicherlich was "verfangen" in der auth Datei und daher hat user / pass wahrscheinlich nie mehr gepasst,

da dieser jedoch weit verbreitet ist weil "easy" vom Handling ... wäre es bekannt wenn es ein genereller bug da wäre ;)
Nebuk schrieb:
So wie ich PAPERLESS_ENABLE_HTTP_REMOTE_USER verstehe, schalte ich praktisch eine Authentifizierung davor? Wenn man SSO benutzt, kann man das nutzen. Dabei wird der RemoteUser über die Header weitergegeben.
was jedoch nichts mit der Funktion httpauth seitens Nginx zu tun hat, das braucht es dafür nicht und ist eher schädlich als förderlich.
 
Zurück
Oben