Forum: PC Hard- und Software NGINX: Reverseproxy mit Unterverzeichnissen


von Matthias S. (da_user)


Angehängte Dateien:

Lesenswert?

Hi,

ich bastel mir seit einiger Zeit eine Art Heimserver auf Basis der 
Debiandistri "OMV" zusammen. Darauf laufen mittlerweile auch einige 
Docker Container wie emby oder filebot. Deren Weboberflächen hören 
jeweils auf unterschiedliche Ports.
Der Rechner selbst ist in meinem Netzwerk nach der Eingabe von 
'http://omv'; im Browser erreichbar, und ab den ersten Aufruf über diese 
URL auch über die Eingabe von 'omv'. Wie ich herausgefunden habe steckt 
da die Fritzbox dahinter, die daraus 'omv.fritz.box' macht und auf den 
Rechner auflöst. Letztere URL klappt somit auch bei der Eingabe.

Nun ist es doof sich die Ports der Serverdienste zu merken, darum würde 
ich da gerne auf sprechendere URLs umstellen. 'omv.fritz.box/emby', bzw. 
'omv/emby' ist halt viel sinniger und einfacher zu merken.
Soweit ich bis dato herausgefunden habe, soll das mit dem Webserver 
NGINX als "Reverseproxy" gut funktionieren. Den gibts auch als PlugIn 
für OMV.
Die meisten Anleitungen nehmen sich aber hier die Erreichbarkeit aus dem 
Internet heraus zur Brust, was ich nicht will, sondern rein lokal.
In den Anleitungen gehts dann um eine URL nach dem Motto 
'dienst.domain.tl', was bei mir aber nachweislich nicht funktioniert 
(getestet).
Apropos getestet:
Prinzipiell habe ich jetzt sowas schon zum laufen gebracht. Die 
Konfiguration befindet sich im Anhang. Da seht ihr auch gleich, was die 
GUI mir hier bietet.
Der Port 8099 für den NGINX ist jetzt gewählt, um die Erreichbarkeit der 
OMV-GUI unter den Port 80 noch zu erhalten.
Bei Aufruf der URL 'omv.fritz.box:8099/emby' wird tatsächlich auf den 
Emby-Server weitergeleitet. Leider auch beim Aufruf von 
'omv.fritz.box:8099', womit ich feststellen kann, das mit dem 
Unterverzeichnis nicht so funktioniert hat, wie gewollt.
Entsprechend hat natürlich das Anlegen eines zweiten Servers mit der URl 
'omv.fritz.box/filebot' auf dem Port 8099 und Weiterleitung auf 5800 
dazu geführt, dass gar nichts mehr klappt.

Kurz gefasst: wie kriege ich NGINX dazu, je nach Unterverzeichnis der 
URL auf einen anderen Port weiterzuleiten?

* Zusatzköningslösung1:
Beim Aufruf der Standardurls ('omv.fritz.box', 'omv') wird das 
OMV-Webpanel aufgerufen
* Zusatzköningslösung2 als Ersatz für 1:
Beim Aufruf der Standardurls ('omv.fritz.box', 'omv') wird eine 
HTML-Seite aufgerufen (die ich gerne auch selbst zusammenstricke), die 
mir alle Dienste schön "klickibunti" anzeigt.

VG
Matthias / da_user

von René H. (Gast)


Lesenswert?

Ich kenne dieses Webfrontend nicht, kannst Du nicht einfach dein 
nginx.cfg posten (meisten unter /usr/local/nginx/conf zu finden).

Grüsse,
René

PS: Du kannst bei Location eine regexp angeben. Mit streams machst du 
das ganze etwas übersichtlicher.

von Egon N. (egon2321)


Lesenswert?

Auf so eine grottige GUI verzichten und lieber händisch konfigurieren:

https://docs.nginx.com/nginx/admin-guide/web-server/reverse-proxy/

von Matthias S. (da_user)


Lesenswert?

René H. schrieb:
> Ich kenne dieses Webfrontend nicht, kannst Du nicht einfach dein
> nginx.cfg posten (meisten unter /usr/local/nginx/conf zu finden).

Habe ich nicht.
ich hätte unter /etc/nginx/ eine ngingx.conf und unter /etc/nginx/conf.d 
eine zzz-omv-nginx.conf
In beiden Dateien finde ich keine Hinweise auf meine Konfiguration. Kann 
es sein, dass entsprechend zwei Nginx-Server laufen? Einer für das 
OMV-Webfrontent, und einer als OMV-Plugin?

Egon N. schrieb:
> Auf so eine grottige GUI verzichten und lieber händisch konfigurieren:

Naja.. so grottig finde ich die GUI nicht, und zum händisch 
konfigurieren müsste ich erstmal die config-Files finden ;-)

Egon N. schrieb:
> https://docs.nginx.com/nginx/admin-guide/web-serve...

sagt:
1
location /some/path/ {
2
    proxy_pass http://www.example.com/link/;
3
}

heißt es wird von der location 'Domain/some/path/' auf 
'http://www.example.com/link/'; geleitet?

von René H. (Gast)


Lesenswert?

Matthias S. schrieb:
> René H. schrieb:
> Ich kenne dieses Webfrontend nicht, kannst Du nicht einfach dein
> nginx.cfg posten (meisten unter /usr/local/nginx/conf zu finden).
>
> Habe ich nicht.
> ich hätte unter /etc/nginx/ eine ngingx.conf und unter /etc/nginx/conf.d
> eine zzz-omv-nginx.conf
> In beiden Dateien finde ich keine Hinweise auf meine Konfiguration. Kann
> es sein, dass entsprechend zwei Nginx-Server laufen? Einer für das
> OMV-Webfrontent, und einer als OMV-Plugin?
>
> Egon N. schrieb:
> Auf so eine grottige GUI verzichten und lieber händisch konfigurieren:
>
> Naja.. so grottig finde ich die GUI nicht, und zum händisch
> konfigurieren müsste ich erstmal die config-Files finden ;-)
>
> Egon N. schrieb:
> https://docs.nginx.com/nginx/admin-guide/web-serve...
>
> sagt:location /some/path/ {
>     proxy_pass http://www.example.com/link/;
> }
>
> heißt es wird von der location 'Domain/some/path/' auf
> 'http://www.example.com/link/';; geleitet?

Ja.

Grüsse,
René

von René H. (Gast)


Lesenswert?

Himmel, so schwer ist das nicht. Mach ein ps auf nginx und schau was wo 
wie läuft und poste das config File.

Grüsse,
René

von Matthias S. (da_user)


Lesenswert?

René H. schrieb:
> Himmel, so schwer ist das nicht. Mach ein ps auf nginx und schau was wo
> wie läuft und poste das config File.

Naja, wenn man nicht allzufit in Linux ist, ist das ganze nicht so easy 
;-)
Werde ich heute Abend, wenn ich daheim bin aber bei Bedarf noch 
nachholen.

Nichtdestotrotz habe ich gestern nochmal experimentiert und die 
"Erweitereten Optionen" (welche meines erachtens 1:1 in die config 
übernommen werden) angepasst.

Ungefähr so:
1
location /emby/
2
{
3
  proxy_pass http://127.0.0.1:8096
4
  [...]
5
}
6
7
location /filebot
8
{
9
  proxy_pass htt://127.0.0.1:5800
10
  [...]
11
}


Ich werde jetzt für 'omv:8099/emby/' schön auf 'omv:8096/emby/' 
umgeleitet und Emby kann damit umgehen.
Problematisch ist, dass andere Server ihren Aufruf wirklich unter der 
"Hauptdomain" erwarten, so z.B. Filebot:
'omv:8099/filebot' wird umgeleitet auf 'omv:5800/filebot'; Filebot 
findet aber die Seite nicht, ich müsste hier umleiten auf 'omv:5800'. 
Wie kriege ich das hin?
Das Verhalten von NGINX ist so auch im erwähnten Link dokumentiert, 
leider nicht, wie ich das abbestelle.

Viele Grüße
Matthias / da_user

von Johnny B. (johnnyb)


Lesenswert?

Nginx scheint mir für Dein Vorhaben völlig das falsche Tool zu sein. 
Klar bekommt man es damit hin, aber wäre es nicht schlauer, sowas mit 
einem Router (in Software) zu lösen?

von Matthias S. (da_user)


Lesenswert?

Keine Ahnung.
Ich bin halt bei meinen Recherchen auf NGINX gestoßen, bzw. darauf 
aufmerksam (gemacht) geworden.
Bin natürlich offen für andere Lösungen. Diese müssten dann aber im 
bestehenden Netzwerk funktionieren, ohne das Grundlegend zu ändern. 
Sprich: eine von dir angesprochene Softwarerouterlösung müsste parallel 
zur FritzBox laufen und diese nicht ersetzen.

von imonbln (Gast)


Lesenswert?

Matthias S. schrieb:
> 'omv:8099/filebot' wird umgeleitet auf 'omv:5800/filebot'; Filebot
> findet aber die Seite nicht, ich müsste hier umleiten auf 'omv:5800'.
> Wie kriege ich das hin?

Das Stichwort für So was lautet Rewrite Rules. Das Google hierzu 
überlasse ich mal aus Zeitgründen anderen.

von René H. (Gast)


Lesenswert?

Johnny B. schrieb:
> Nginx scheint mir für Dein Vorhaben völlig das falsche Tool zu
> sein. Klar bekommt man es damit hin, aber wäre es nicht schlauer, sowas
> mit einem Router (in Software) zu lösen?

NGINX kann das entspannt lösen. Und was denkst Du ist NGINX? Hardware?
NGINX mit dem OpenResty Modul und Lua löst dir praktisch jedes Problem.

Grüsse,
René

von Matthias S. (da_user)


Lesenswert?

René H. schrieb:
> Himmel, so schwer ist das nicht. Mach ein ps auf nginx und schau was wo
> wie läuft und poste das config File.

So, jetzt musst du mir nochmal auf die Sprünge helfen.
Ich konnte jetzt zwar mit der Eingabe von 'ps -ef | grep nginx' einen 
guten Schwung nginx-Prozesse identifizieren, weiß deshalb aber immer 
noch nicht, wo ich deren jeweilligen config-Files finde:
1
root      2462  1426  0    49     4   0 Mai27 ?        00:00:00 s6-supervise nginx
2
root      2636  2462  0  3719  3548   0 Mai27 ?        00:00:00 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf -g daemon off;
3
122       2700  2636  0  3833  1808   3 Mai27 ?        00:00:00 nginx: worker process
4
122       2701  2636  0  3831  1808   1 Mai27 ?        00:00:00 nginx: worker process
5
root     23481     1  0 39877  1724   0 Mai27 ?        00:00:00 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
6
www-data 23482 23481  0 39986  4932   2 Mai27 ?        00:00:01 nginx: worker process
7
www-data 23483 23481  0 39968  3428   0 Mai27 ?        00:00:02 nginx: worker process
8
www-data 23484 23481  0 39968  3428   3 Mai27 ?        00:00:02 nginx: worker process
9
www-data 23485 23481  0 40055  4860   3 Mai27 ?        00:00:02 nginx: worker process
10
root     27998 27715  0  3581   980   0 17:24 pts/1    00:00:00 grep nginx

imonbln schrieb:
> Das Stichwort für So was lautet Rewrite Rules. Das Google hierzu
> überlasse ich mal aus Zeitgründen anderen.

Danke für das Stichwort, ich werde da jetzt ziemlich zeitnah Google dazu 
bemühen, mal sehen, ob ich dazu was passendes finde.

VG
Matthias / da_user

von myscha (Gast)


Lesenswert?

Ich hab das zwar nicht mit Docker-Diensten gemacht, sondern nur mit 
PartDB, Baikal und MyWebSQL, vielleicht hilft es dir aber trotzdem:
https://forum.openmediavault.org/index.php/Thread/21009-Nginx-Plugin-Vhost-Website-auf-Port-80-in-einem-Unterordner-installieren/?postID=164015#post164015

von Stefan E. (sternst)


Lesenswert?

Matthias S. schrieb:
> Ich konnte jetzt zwar mit der Eingabe von 'ps -ef | grep nginx' einen
> guten Schwung nginx-Prozesse identifizieren, weiß deshalb aber immer
> noch nicht, wo ich deren jeweilligen config-Files finde:

> ... -c /etc/nginx/nginx.conf ...

von René H. (Gast)


Lesenswert?

Matthias S. schrieb:
> /etc/nginx/nginx.conf

Hier!

Grüsse,
René

Stefan E. schrieb:
> /etc/nginx/nginx.conf

Da war es ja bereits

von Matthias S. (da_user)


Angehängte Dateien:

Lesenswert?

myscha schrieb:
> Ich hab das zwar nicht mit Docker-Diensten gemacht, sondern nur mit
> PartDB, Baikal und MyWebSQL, vielleicht hilft es dir aber trotzdem:
> 
https://forum.openmediavault.org/index.php/Thread/21009-Nginx-Plugin-Vhost-Website-auf-Port-80-in-einem-Unterordner-installieren/?postID=164015#post164015

Sieht auf den ersten Blick kompliziert aus. Ich hoffe das lichtet sich, 
wenn ich da mal näher draugucken kann ;-)

René H. schrieb:
> Matthias S. schrieb:
>> /etc/nginx/nginx.conf
>
> Hier!
>
> Grüsse,
> René
>
> Stefan E. schrieb:
>> /etc/nginx/nginx.conf
>
> Da war es ja bereits

Das ist aber anscheinend die falsche, nämlich die, die zum Nginx-Server 
für den OMV gehört. Anscheinend. Ich hänge sie trotzdem mal hier dran.

von Matthias S. (da_user)


Angehängte Dateien:

Lesenswert?

Anhang:
gerade in einer der includes-fündig geworden:
1
include /etc/nginx/sites-enabled/*;

Da drinnen die angehängte config.

von René H. (Gast)


Lesenswert?

Matthias S. schrieb:
> myscha schrieb:
>> Ich hab das zwar nicht mit Docker-Diensten gemacht, sondern nur mit
>> PartDB, Baikal und MyWebSQL, vielleicht hilft es dir aber trotzdem:
>>
> https://forum.openmediavault.org/index.php/Thread/...
>
> Sieht auf den ersten Blick kompliziert aus. Ich hoffe das lichtet sich,
> wenn ich da mal näher draugucken kann ;-)
>
> René H. schrieb:
>> Matthias S. schrieb:
>>> /etc/nginx/nginx.conf
>>
>> Hier!
>>

Yep, falsch.

Du hast Debian? Also System 5?

Lass uns doch das erst mal aufräumen, damit du weisst wo was ist. Die 
conf ist nicht das Problem, aber ein aufgeräumtes Linux macht Spass!

Grüsse,
René

PS: nginx ist in /usr/sbin. Wie startest du es neu (ich meine nicht 
rebooten :-)
>> Grüsse,
>> René
>>
>> Stefan E. schrieb:
>>> /etc/nginx/nginx.conf
>>
>> Da war es ja bereits
>
> Das ist aber anscheinend die falsche, nämlich die, die zum Nginx-Server
> für den OMV gehört. Anscheinend. Ich hänge sie trotzdem mal hier dran.

von René H. (Gast)


Lesenswert?

Matthias S. schrieb:
> Anhang:
> gerade in einer der includes-fündig geworden:include
> /etc/nginx/sites-enabled/*;
> Da drinnen die angehängte config.

Ja, das ist es. Schmeiss alles runter und installiere von Hand. Source 
holen. ./configure
make
Als Su: make install

Grüsse,
René

von myscha (Gast)


Lesenswert?

Matthias S. schrieb:
> Sieht auf den ersten Blick kompliziert aus. Ich hoffe das lichtet sich,
> wenn ich da mal näher draugucken kann ;-)

Ist halb so wild wenn man es mal verstanden hat. Hab mir auch ein 
persönliches Howto geschrieben, bin aber grad im Urlaub und habe keinen 
Zugriff.

René H. schrieb:
> Ja, das ist es. Schmeiss alles runter und installiere von Hand. Source
> holen. ./configure
> make
> Als Su: make install

Ist meiner Meinung nach unnötig, wenn nicht schon alles komplett 
verbogen ist. Debian installieren, dann OMV und dann die verlinkten 
Schritte durchführen.

von myscha (Gast)


Lesenswert?

myscha schrieb:
> Debian installieren, dann OMV und dann die verlinkten Schritte
> durchführen.

Vor dem letzten Schritt natürlich noch die gewünschten Dienste...

von Matthias S. (da_user)


Lesenswert?

René H. schrieb:
> Ja, das ist es. Schmeiss alles runter und installiere von Hand. Source
> holen. ./configure
> make
> Als Su: make install

Sorry, aber warum sollte ich das tun?
Es läuft doch offensichtlich. Es hackt doch defintiv nur daran, was ich 
in der Config einstellen muss?
Wenn ich das jetzt neu installiere, schmeiß ich mir doch soviele 
Querschläger rein, weil dann mein OMV-Webinterfache nicht mehr 
funktioniert oder was weiß ich.
Die Jungs die OMV gemacht haben, haben sich sicherlich auch Gedanken 
gemacht, als sie nginx in /usr/sbin geschoben haben.

Hilf mir bitte beim finden der richtigen Parameter der Config-Files, 
aber ich wüsste nicht, in wie weit mich eine Neuinstallation zu dem Ziel 
führen sollte, zu dem ich hinwill. Insbesondere wenn es teilweise schon 
läuft. Ich will keinen Spaß oder auch "Spaß" haben, ich will das es 
funktioniert.

von Sheeva P. (sheevaplug)


Lesenswert?

Johnny B. schrieb:
> Nginx scheint mir für Dein Vorhaben völlig das falsche Tool zu sein.

Nein, das ist das absolut richtige Tool dafür. Nginx muß dazu nur nicht 
als Reverse Proxy, sondern mit einem Redirect konfiguriert werden.

von René H. (Gast)


Lesenswert?

Matthias S. schrieb:
> Hilf mir bitte beim finden der richtigen Parameter der Config-Files,
> aber ich wüsste nicht, in wie weit mich eine Neuinstallation zu dem Ziel
> führen sollte, zu dem ich hinwill. Insbesondere wenn es teilweise schon
> läuft. Ich will keinen Spaß oder auch "Spaß" haben, ich will das es
> funktioniert.

Wie gesagt, ich kenne dieses Webinterface nicht. Wenn du die conf von 
Hand editierst wird es dir vermutlich auch das Webinterface 
zerschiessen.

Grüsse,
René

von Sheeva P. (sheevaplug)


Lesenswert?

Matthias S. schrieb:
> Es läuft doch offensichtlich. Es hackt doch defintiv nur daran, was ich
> in der Config einstellen muss?

Richtig.

> Die Jungs die OMV gemacht haben, haben sich sicherlich auch Gedanken
> gemacht, als sie nginx in /usr/sbin geschoben haben.

Das haben vermutlich die Jungs getan, die das Debian-Paket für Nginx 
gebaut haben, ansonsten: ebenfalls absolut korrekt. Das Binary von Nginx 
liegt in /usr/sbin/, weil es genau dort hingehört.

In /usr/local/ würde es nur dann liegen, wenn es manuell installiert 
worden wäre. Aber wenn der Paketmanager bereits eine hinreichend 
aktuelle und für den Anwendungsfall ausreichende Version dieses Paketes 
anbietet, müßte man schon ziemlich verrückt sein, um sich eine manuelle 
Installation und deren händische Pflege an die Backe zu kleben.

> Hilf mir bitte beim finden der richtigen Parameter der Config-Files,
> aber ich wüsste nicht, in wie weit mich eine Neuinstallation zu dem Ziel
> führen sollte, zu dem ich hinwill. Insbesondere wenn es teilweise schon
> läuft. Ich will keinen Spaß oder auch "Spaß" haben, ich will das es
> funktioniert.

Die Dateien in /etc/nginx/ sind wahrscheinlich die richtigen Dateien für 
Dein Vorhaben, ich würde vermuten, daß es sich um die Datei 
"zzz-omv-nginx" in "/etc/nginx/sites-available/" handelt. Darauf sollte 
es einen Symlink "/etc/nginx/sites-enabled/zzz-omv-nginx" geben, welcher 
wiederum von der zentralen Konfigurationsdatei "/etc/nginx/nginx.conf" 
eingebunden wird.

Der Inhalt der von Dir geposteten "zzz-omv-nginx" sieht schonmal ganz 
gut aus, außer daß Filebot nach Deiner Aussage (ich kenne die Software 
nicht) wohl nicht mit einem Reverse Proxy umgehen kann. Deswegen ist in 
dem Fall statt eines Reverse Proxy natürlich ein Redirect bzw. eine 
Rewrite Rule sinnvoll.

Vielleicht magst Du einmal die Ausgabe von "ls -R /etc/nginx" posten 
oder Deine Nginx-Konfiguration einmal als Tarball (mit "tar czf 
nginx-conf.tgz /etc/nginx/" erstellt) posten.

Ist es möglich, daß sowohl Omv als auch Filebot jeweils ihre eingene 
Nginx-Konfiguration installieren? Das findest Du mit Deinem Paketmanager 
dpkg(1) heraus. Mit "dpkg -l '*<name>*'" findest Du alle Pakete, in 
deren Namen der String 'name' vorkommt, mit "dpkg -L <paketname>" 
findest Du heraus, welche Dateien zu dem betreffenden Paket gehören, und 
mit "dpkg -S </absolute/path/to/file>" findest Du heraus, zu welchem 
Paket die Datei "/absolute/path/to/file" gehört (immer ohne die < und >, 
natürlich). Mehr Optionen und Funktionen verrät Dir die Manpage von 
dpkg(1) ("man 1 dpkg").

Ansonsten sollte auch ein "systemctl status" Informationen darüber 
geben, ob nun eine oder mehrere Nginx-Instanzen laufen, nach Deiner 
Prozeßliste würde ich das stark annehmen. Das könnte man konsolidieren, 
muß man aber nicht -- dank intelligentem Dateisystempuffer und 
Copy-On-Write dürften mehrere Nginx-Instanzen kaum mehr Arbeitsspeicher 
belegen als eine.

Übrigens kann Dein Nginx natürlich auch in einem Container laufen... ;-)

von myscha (Gast)


Lesenswert?

René H. schrieb:
> Wenn du die conf von Hand editierst wird es dir vermutlich auch das
> Webinterface zerschiessen.

Kann passieren, ist aber kein Problem solange man die Templates nicht 
anfasst. Es gibt ein Binary das alle Konfigurationen neu aus den 
Templates erstellt. Danach sollte das wieder laufen. Die Templates sind 
in /usr/share/openmediavault/mkconf/nginx.d

Beitrag #5437120 wurde von einem Moderator gelöscht.
von Matthias S. (da_user)


Angehängte Dateien:

Lesenswert?

Sheeva P. schrieb:
> Vielleicht magst Du einmal die Ausgabe von "ls -R /etc/nginx" posten

Siehe Anhang. ;-)

Sheeva P. schrieb:
> Ist es möglich, daß sowohl Omv als auch Filebot jeweils ihre eingene
> Nginx-Konfiguration installieren? Das findest Du mit Deinem Paketmanager
> dpkg(1) heraus. Mit "dpkg -l '*<name>*'" findest Du alle Pakete, in
> deren Namen der String 'name' vorkommt, mit "dpkg -L <paketname>"

Damit konnte ich jetzt mit der eingabe von "filebot" nix finden. Wurde 
aber auch nicht über den Paketmanger installiert, sondern ist wie gesagt 
ein Dockerimage.
Der Config-Ordner von Filebot enthält allerdings einen Ordner 
'log/nginx', wo der allerdings seine nginx-config versteckt, und ob man 
überhaupt auf die Zugreifen kann, entzieht sich meiner Kenntniss.
Es handelt sich hierbei um diesen Container: 
https://github.com/jlesage/docker-filebot

Allerdings hätte ich natürlich schon gerne eine Möglichst universielle 
Lösung, am besten ohne Eingriff in die Container machen zu müssen. Immer 
möglichst nur an einer Stelle rumbasteln ;-)

Entsprechend werde ich mir die Sache mit dem Redirect und RewriteRule 
angucken. Das hört sich auf den ersten Blick am vielversprechendsten an.

von myscha (Gast)


Lesenswert?

René H. schrieb im Beitrag #5437120:
> Debian ist kein Systemd meines Wissens.

Ist es nicht, nutzt es aber. Devuan ist das was du meinst.

von imonbln (Gast)


Lesenswert?

Matthias S. schrieb:
> 'omv:8099/filebot' wird umgeleitet auf 'omv:5800/filebot'; Filebot
> findet aber die Seite nicht, ich müsste hier umleiten auf 'omv:5800'.
> Wie kriege ich das hin?

ohne Gewähr aber probiere es mal so:
1
location  /filebot {
2
  rewrite /filebot/(.*) /$1  break;
3
  proxy_pass         http://localhost:5800;
4
  proxy_redirect     off;
5
  proxy_set_header   Host $host;
6
}

von Johnny B. (johnnyb)


Lesenswert?

Sheeva P. schrieb:
> Johnny B. schrieb:
>> Nginx scheint mir für Dein Vorhaben völlig das falsche Tool zu sein.
>
> Nein, das ist das absolut richtige Tool dafür. Nginx muß dazu nur nicht
> als Reverse Proxy, sondern mit einem Redirect konfiguriert werden.

Eben, Nginx ist ein Reverse Proxy und hier soll er ja genau nicht dafür 
eingesetzt werden.

René H. (Firma: Herr) schrieb:
> Johnny B. schrieb:
>> Nginx scheint mir für Dein Vorhaben völlig das falsche Tool zu
>> sein. Klar bekommt man es damit hin, aber wäre es nicht schlauer, sowas
>> mit einem Router (in Software) zu lösen?

>NGINX kann das entspannt lösen. Und was denkst Du ist NGINX? Hardware?
>NGINX mit dem OpenResty Modul und Lua löst dir praktisch jedes Problem.

Ich habe geschrieben in Software, dass er nicht meint, er müsse noch 
einen Hardwarerouter zukaufen.
Und ja, klar kann man mit Nginx alles lösen; mit einer Rohrzange kannst 
Du auch alle Schrauben lösen, aber manchmal ist es halt ein Murks.

von imonbln (Gast)


Lesenswert?

Johnny B. schrieb:
>> Nein, das ist das absolut richtige Tool dafür. Nginx muß dazu nur nicht
>> als Reverse Proxy, sondern mit einem Redirect konfiguriert werden.
>
> Eben, Nginx ist ein Reverse Proxy und hier soll er ja genau nicht dafür
> eingesetzt werden.

Na ja eigentlich ist Nginx erstmals ein Webserver, der aber gerne als 
Reserve Proxy oder Loadbalancer genutzt wird und IMHO ist es genau das 
richtige für das was der TO will.

von Matthias S. (da_user)


Lesenswert?

imonbln schrieb:
> ohne Gewähr aber probiere es mal so:
>
> location  /filebot {
>   rewrite /filebot/(.*) /$1  break;
>   proxy_pass         http://localhost:5800;
>   proxy_redirect     off;
>   proxy_set_header   Host $host;
> }

Hi,

gerade auf die schnelle ausgetestet:
Filebot scheint sich hier intern zu verschlucken.
Zur kurzen Erklärung: Filebot ist m.W. eigentlich Java. Ich vermute dass 
hier mit irgendeinem Framwork jemand daraus einen DockerContainer 
gemacht hat und die eigentliche JavaGUI von Filebot in einem 
entsprechenden Webserver anzeigt. Dafür spricht auch, dass die 
Dockervariante von Filebot mit einer Navbar kommt, die eher nach was 
Standardmässigen ausschaut.

Mit einem anderen DockerContainer hat das dagegen jetzt gut geklappt, 
ich denke das kann ich verwenden.
Notfalls muss ich mir halt den einen Port merken oder mir eine 
Alternative suchen.

Vielen Dank dafür!

von René H. (Gast)


Lesenswert?

imonbln schrieb:
> Johnny B. schrieb:
> Nein, das ist das absolut richtige Tool dafür. Nginx muß dazu nur nicht
> als Reverse Proxy, sondern mit einem Redirect konfiguriert werden.
>
> Eben, Nginx ist ein Reverse Proxy und hier soll er ja genau nicht dafür
> eingesetzt werden.
>
> Na ja eigentlich ist Nginx erstmals ein Webserver, der aber gerne als
> Reserve Proxy oder Loadbalancer genutzt wird und IMHO ist es genau das
> richtige für das was der TO will.

Nicht wirklich: https://de.m.wikipedia.org/wiki/Nginx

Grüsse,
René

von Sheeva P. (sheevaplug)


Lesenswert?

Johnny B. schrieb:
> Sheeva P. schrieb:
>> Johnny B. schrieb:
>>> Nginx scheint mir für Dein Vorhaben völlig das falsche Tool zu sein.
>>
>> Nein, das ist das absolut richtige Tool dafür. Nginx muß dazu nur nicht
>> als Reverse Proxy, sondern mit einem Redirect konfiguriert werden.
>
> Eben, Nginx ist ein Reverse Proxy

Nein, Nginx ist ein Webserver. Als solcher hat er -- wie zum Beispiel 
auch der gute alte Apache -- natürlich unter anderem auch die 
Möglichkeit, als Reverse Proxy oder als Redirector zu arbeiten und wird 
auch häufig dafür genutzt, aber im Kern ist und bleibt er ein Webserver.

> Und ja, klar kann man mit Nginx alles lösen; mit einer Rohrzange kannst
> Du auch alle Schrauben lösen, aber manchmal ist es halt ein Murks.

Wie gesagt: in diesem Falle ist er genau das richtige Werkzeug. Daß es 
noch andere Werkzeuge mit einem ähnlichen Funktionsumfang gibt, ändert 
daran nichts und tut auch nichts zur Sache.

Ansonsten könntest Du Dich natürlich auch konstruktiv beteiligen und 
eine konkrete Lösung vorschlagen, anstatt dem TO irgendwelchen Unfug wie 
einen "Router in Software" (was auch immer das sein mag) zu empfehlen 
oder ihm einzureden, Nginx sei für seinen Anwendungsfall ungeeignet.

von Egon N. (egon2321)


Lesenswert?

Gäbe natürlich auch noch Varnish nebst Apache und nginx für diesen 
Anwendungsfall, man könnte sogar squid einsetzen.


https://www.tecchannel.de/a/squid-als-reverse-proxy,402455
https://www.thomas-krenn.com/de/wiki/Varnish_Web_Beschleuniger

Wobei ich persönlich die besten Erfahrungen mit nginx/Apache gemacht 
habe, das läuft meiner Meinung nach sehr solide...

Wer auf gut konfiguriertes Load Balancing usw. angewiesen ist muss eh 
nicht nachfragen, daher ist es relativ egal was man nimmt solang man es 
sauber konfiguriert und das wird durch eine einfache Konfiguration 
nunmal enorm erleichtert. Wenn ich da an die seitenlange config von 
Squid denke...

: Bearbeitet durch User
von myscha (Gast)


Lesenswert?

Vor allen Dingen braucht er Nginx eh für das Webinterface von OMV, also 
warum sollte er noch nen anderen/ weiteren Webserver parallel laufen 
lassen?

von Johnny B. (johnnyb)


Lesenswert?

myscha schrieb:
> Vor allen Dingen braucht er Nginx eh für das Webinterface von OMV, also
> warum sollte er noch nen anderen/ weiteren Webserver parallel laufen
> lassen?

Die häufigste Anwendung in der Praxis von Nginx ist so, dass man ihn 
nicht alleine einsetzt, sondern als Reverse Proxy in Verbindung mit 
Apache. Das konfiguriert man dann so, dass Nginx die statischen Elemente 
wie z.B. Bilder an den Webbrowser liefert und Apache den dynamischen 
Inhalt, welcher komplexer ist (PHP, Perl, Datenbankzeug etc.)
Insgesamt kann man so die Serverlast markant senken, da man den etwas 
"aufgeblähten" Apache dann nicht mit der Auslieferung von Bildern 
langweilen muss und dennoch die Flexibilität von Apache hat für die 
komplexen Sachen.
Für Euren Hobbybereich könnt Ihr natürlich es so zusammenstiefeln wie 
ihr wollt.

von imonbln (Gast)


Lesenswert?

Matthias S. schrieb:
> Filebot scheint sich hier intern zu verschlucken.
> Zur kurzen Erklärung: Filebot ist m.W. eigentlich Java. Ich vermute dass
> hier mit irgendeinem Framwork jemand daraus einen DockerContainer
> gemacht hat und die eigentliche JavaGUI von Filebot in einem
> entsprechenden Webserver anzeigt. Dafür spricht auch, dass die
> Dockervariante von Filebot mit einer Navbar kommt, die eher nach was
> Standardmässigen ausschaut.

Prinzipiell sollte es gehen das Filebot Hinter einen Proxy läuft. 
Vielleicht wäre etwas Systematisches Fehlersuchen angesagt?

Gibt es bei Filebot irgendwelche Logging mechanismen? Hast du diese mal 
auf Debug hoch gedreht?
Auch der nginx hat logging das man mal aktivieren und entsprechen 
Hochdrehen kann um das Problem einzugrenzen.

Außerdem könnst du:w mal mit Wireshark neben den Nginx den Traffic auf 
Port 80 und localhost:5800 ansehen. Ziel der ganzen maßnahmen ist heraus 
zu finden woran sich Filebot "verschluckt" und was wir machen können das 
zu verhindern, aber da sind Vermutungen eher Kontraproduktiv.

von Matthias S. (da_user)


Lesenswert?

Hi,
da muss ich im Moment ganz ehrlich sagen, ist mir meine Lebenszeit zu 
wertvoll.
Da gibts derzeit andere Projekte, bzw. andere Dinge im Rahmen mit diesem 
Projekt, die da deutlich vorne dran anstehen.
Ich werde das Problem wohl dahingehend umgehen, dass ich mir, wie schon 
erwähnt, eine Art "Startseite" bastel, in dem ich auf die jeweilligen 
Dienste verlinke.
Dann kann ich halt den einen Dienst nicht per schöner URL ansteuern, das 
wäre jetzt aber auch kein Beinbruch und vor allem nichts, wo ich jetzt 
eine ungewisse Anzahl an Arbeitsstunden investiere wenn ich die woanders 
nötiger/sinnvoller einsetzen kann.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.