nginx als ReverseProxy

Root_GER

Cadet 4th Year
Registriert
Nov. 2015
Beiträge
121
Hallo :)

Ich habe ein Anliegen bzgl. "nginx" und finde diesbzgl nichts brauchbares in Google:

Wie kann ich diesen als ReverseProxy konfigurieren?

Ich möchte am besten alle Anfragen auf Port 80/443 an den Webserver leiten (10.0.0.12), aber festgelegte andere Regeln an einen anderen Server leiten.
Falls das nicht geht, wie kann ich denn bestimmte Domains zum Webserver weiterleiten? Es müssen aber alle Header, etc. übermittelt werden, sodass "Piwik" (Analytics-Tools) funktioniert.

example1.com .. example100.com → Webserver (10.0.0.12)
meet.example.com → Jitsi-Meet Server (10.0.0.18)

Wie muss ich dann nginx noch konfigurieren, sodass dann auch Jitsi-Meet funktioniert? Es verwendet Websockets, etc...
Diese Anleitung für Jitsi scheint mir unvollständig: https://jitsi.github.io/handbook/do...s-guide-docker#running-behind-a-reverse-proxy

Ich finde in Google sonst nichts brauchbares :(

Kann mir bitte jemand eine Config geben? :)

Momentan sieht meine nginx-Config (für Jitsi) so aus:

Code:
server {

listen 80;
listen 443;

server_name meet.example.com;

location / {
    proxy_pass https://10.0.0.18;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
}


location /xmpp-websocket {
    proxy_pass https://10.0.0.18:8443/xmpp-websocket;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
}
location /colibri-ws/ {
    proxy_pass https://10.0.0.18:8443/colibri-ws/;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";

    }
}

Aber in diesem Fall kann ich "meet.example.com" nicht aufrufen.
 
Du rufst aber nicht wirklich meet.example.com auf, oder? Mal so vorsichtig gefragt...

Hast du Docker laufen? Dann könnte ich dir den nginx Proxy Manager empfehlen. Gibts nur als Docker Container, dafür sehr simpel in der Bedienung.
 
Was heißt, du kannst meet.deinedomain.com nicht aufrufen? Welcher Fehler kommt denn?
 
DonConto schrieb:
Du rufst aber nicht wirklich meet.example.com auf, oder? Mal so vorsichtig gefragt...
Nein, das war hier nur ein Beispiel. Ich rufe selbstverständlich meine hinterlegte echte Domain auf 😅

DonConto schrieb:
Hast du Docker laufen?
nginx habe ich Stand jetzt als Standalone (ohne Docker) laufen. Das lässt sich aber ändern. Docker selber muss ich auch erst installieren.

DonConto schrieb:
Dann könnte ich dir den nginx Proxy Manager empfehlen. Gibts nur als Docker Container, dafür sehr simpel in der Bedienung.
Das werde ich mir mal anschauen und installieren. Hört sich interessant an

kachiri schrieb:
Was heißt, du kannst meet.deinedomain.com nicht aufrufen? Welcher Fehler kommt denn?
Es kommt: Die Website ist nicht erreichbar meet.example.com hat die Verbindung abgelehnt.

Ports (80, 443, 10000 /TCP) sind erlaubt, wobei 80 und 443 zum ReverseProxy gehen und 10000 direkt zu Jitsi.

Deeen schrieb:
Die offizielle Doku sollte helfen: Nginx
Da werde ich auch mal reinschauen 🙂
 
Und was sagen die Logs von nginx?
 
kachiri schrieb:
Und was sagen die Logs von nginx?
Das klingt jetzt etwas doof, aber ich habe nicht in diese geschaut und nginx nun deinstalliert und stattdessen den "nginx Proxy Manager" installiert 🤦‍♂️

Ich habe nun im NPM ein SSL-Zertifikat erstellen lassen und kann nun definierte Websites aufrufen und auch wichtig: Jitsi funktioniert auch halbwegs. Zumindest das Frontend.
Eine Video- und Audioübertragung funktioniert noch nicht. Websockets habe ich bei der Seite im "Nginx Proxy Manager" aktiv.

Jetzt läuft das Routing so:

  • Port 80/TCP und 443/TCP gehen zum ReverseProxy mit "Nginx Proxy Manager", dieser leitet je nach Domain zum Webserver oder zu Jitsi.
  • Port 10000/UDP geht direkt zu Jitsi

Wie schaffe ich es nun, sodass man in Jitsi auch kommunizieren kann? 🙂
 
Ich konnte das Problem noch nicht lösen.

Was kann ich sonst noch probieren? 🙂

Im ReverseProxy funktionieren die Websites, die der Webserver hostet.

Bei Jitsi funktioniert jedoch noch kein Video oder Audio oder allgemein die Medien.

Anbei noch einige Fehler aus der Browser-Konsole, wo ich nicht weiß, wie ich sie beheben kann:

Unbenannt.PNG


Genutzt wird als ReverseProxy "Nginx Proxy Manager" auf der Docker-Basis.
 
Mittlerweile konnte ich das Problem lösen:

Ich habe Jitsi neu installiert und dann in "Nginx Proxy Manager" den vHost neu eingerichtet.

Nun kann man Webserver und Jitsi auf demselben Port nutzen.

Der Websocket-Fehler ist nun, wie ich sehe, auch weg.

Wahrscheinlich war vorher Jitsi einfach zu verbuggt gewesen, wegen der ganzen Testerei.

Vielen Dank für eure Hilfe! 🙂
 
Zurück
Oben