proxy_pass http://192.168.178.50/smartVISU;
Ankündigung
Einklappen
Keine Ankündigung bisher.
NGINX als ReverseProxy
Einklappen
X
-
Wenn dein SmartVISU unter Port 8000 erreichbar ist, dann müsste das auch in der NGINX Config eingetragen werden
Weil sonst schickt der die Anfrage an Port 80 => wo ja einscheinbar nichts dahinter liegt
-
Hallo Norbert,
Es laufen beide Server auf der selben Kiste
http://192.168.178.50:8000/smartVISU...e=smarthome.py
Wenn ich den Port 8000 hinzufüge geht es, wenn ich es ohne Port aus dem LAN versuche kommt die selbe Meldung wie wenn ich es von draußen probiere.
Ich habe jetzt noch in der /sites-enabled/default.conf den Eintrag # return 403; auskomentiert seither kommt die Fehlermeldung:
Bad-Gateway 502
Einen Kommentar schreiben:
-
Hallo Christian,
funktioniert dieser Aufruf ohne Problem? (natürlich intern vom Handy/PC etc und nicht von draußen)
http://192.168.178.50/smartVISU
weil das müsste ja dann am NGINX vorbei sein?
also wenn die .50 der Smarthome-Server ist
Ist SmarthomeServer und NGINX auf der selben Kiste?
Einen Kommentar schreiben:
-
Hallo Norbert,
Doppelpunkt hatte ich.Die Portfreigaben sollten passen das ging ja mal außerdem würde ich ja dann nicht bis zum NGinx durchkommen.
Sicherheitshalber mal noch die Config der Fritz BoxYou do not have permission to view this gallery.
This gallery has 1 photos.
Einen Kommentar schreiben:
-
Hallo Norbert,
hab einen Fehler meinerseits entdeckt Beim Port gehört 80 rein
hab jetzt alle ifs mit 403 ausgeklammert und bekomme den 403 Fehler immer noch. Gibts da noch andere Stellen am Webserver direkt.Zitat von Volzor Beitrag anzeigen# Nur Websocket Verbindungen gegen "/" durchlassen! if ($http_upgrade = websocket) { proxy_pass http://192.168.178.50:8383; } if ($http_upgrade != websocket) { return 403; } }
Gibt es eine einfache Möglichkeit den NGinx kurzzeitig auszuschalten so dass alle Anfragen durchkommen?
Danke und Viele Grüße
Christian
Einen Kommentar schreiben:
-
Hallo Christian,
xxx.dynv6.net:8000 bitte mit Doppelpunkt..
Die Portweiterleitung im Router ist aber eingerichtet?
Gruß Jürgen
Einen Kommentar schreiben:
-
Hallo Norbert,
du hast recht der Location Teil habe ich beim kopieren vergessen .
Ich werde jetzt das mit den IF Schleifen auskommentieren mal durchprobierenCode:... root /var/www/xxx.dynv6.net; index index.php index.htm index.html; # Weiterleitung zu SmartHomeNG (Websocket Schnittstelle) mit Basic Auth location / { auth_basic "Restricted Area: smartVISU"; auth_basic_user_file /etc/nginx/.smartvisu; # Zugreifendes Land erlaubt? if ($allowed_country = no) { return 403; } # Nur Websocket Verbindungen gegen "/" durchlassen! if ($http_upgrade = websocket) { proxy_pass http://192.168.178.50:8383; } if ($http_upgrade != websocket) { return 403; } } # Zugriff auf die SmartVISU mit Basic Auth location /smartVISU { auth_basic "Restricted Area: smartVISU"; auth_basic_user_file /etc/nginx/.smartvisu; # Zugreifendes Land erlaubt? if ($allowed_country = no) { return 403; } proxy_pass http://192.168.178.50/smartVISU; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } # Alexa Plugin Weiterleitung location /alexa { auth_basic "Restricted Area: Alexa"; auth_basic_user_file /etc/nginx/.alexa; # Zugreifendes Land erlaubt? if ($allowed_country = no) { return 403; } proxy_pass http://192.168.178.50:9000/; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } # Network Plugin Weiterleitung location /shng { auth_basic "Restricted Area: SmartHomeNG"; auth_basic_user_file /etc/nginx/.shng; if ($allowed_country = no) { return 403; break; } proxy_pass http://192.168.178.50:8090/; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } }
Viele Grüße
Christian
Einen Kommentar schreiben:
-
Hallo Jürgen,
wenn ich es auf Port xxx.dynv6.net/8000; Http oder /9000 versuche kommt "Die Website ist nicht erreichbar" auch mit /smartVISU hintendran
Viele Grüße Christian
Einen Kommentar schreiben:
-
Hallo Christian,
was mir fehlt ist der "Location" Teil - also wohin der nginx leiten soll
Bis jetzt weiß ja noch keiner ob die 403 vom nginx kommt oder vom Webserver dahinter - richtig?
am besten die ganzen if's mit 403 mal auskommentieren, nginx neustarten und testen
sollte das klappen, eine If-Anweisung nach der anderen einkommentieren, damit man raus bekommt an welcher es klemmt.
alternativ "etwas rotzig" aus 403 => andere HTTP Statuscodes machen und dann im browser schauen welcher Code kommt -> damit man die Stelle rausbekommt wo der 403 her kommt
grüße Norbert
Einen Kommentar schreiben:
-
Hallo Christian,
meldet sich denn unter xxx.dynv6.net:<DeinPort> die Nginx Startseite?
Gruß Jürgen
Einen Kommentar schreiben:
-
Hallo,
mein DlinkDDns Account wurde abgeschaltet und ich musste auf einen neuen Anbieter gehen dies ist jetzt xxx.dynv6.net.
Ich habe alle zugehörigen Stellen umgestellt und ein neues Letsencrypt Zertifikat erstellt. aber ich kriege weiterhin den Fehler 403 wenn ich versuche auf dieSmarVisu zu zugreife. Im Fehlerlog von NGINX ist nichts ich kriege im Acesslog folgende Meldung:
139.247.85 - SmartvisuUser [06/Jul/2020:06:43:07 +0200] "GET /smartVISU/ HTTP/1.1" 403 199 "-" "Mozilla/5.0 (Windows NT 6.1; ) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36"
Hier das Config File: "xxx.dynv6.net.conf" unter etc/nginx/conf.d
Hat irgendjemand eine Idee wo ich weiter schauen kann ?Code:server { server_tokens off; ## Blocken, wenn Zugriff aus einem nicht erlaubten Land erfolgt ## if ($allowed_country = no) { return 403; } # https://www.cyberciti.biz/tips/linux-unix-bsd-nginx-webserver-security.html ## Block download agents ## if ($http_user_agent ~* LWP::Simple|BBBike|wget) { return 403; } ## Block some robots ## if ($http_user_agent ~* msnbot|scrapbot) { return 403; } ## Deny certain Referers ## if ( $http_referer ~* (babes|forsale|girl|jewelry|love|nudit|organic|pok er|porn|sex|teen) ) { return 403; } listen 443 ssl default_server; server_name xxx.dynv6.net; ## # SSL ## ## Activate SSL, setze SERVER Zertifikat Informationen ## # Generiert via Let's Encrypt! ssl on; ssl_certificate /etc/letsencrypt/live/xxx.dynv6.net/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/xxx.dynv6.net/privkey.pem; ssl_session_cache builtin:1000 shared:SSL:10m; ssl_prefer_server_ciphers on; # unsichere SSL Ciphers deaktivieren! ssl_ciphers HIGH:!aNULL:!eNULL:!LOW:!3DES:!MD5:!RC4; ## # HSTS ## add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always; ## # global ## root /var/www/xxx.dynv6.net; index index.php index.htm index.html;
Vielen Dank im Voraus.
Gruß Christian
Einen Kommentar schreiben:
-
Ich habe mich auch an der Anleitung zum NGINX versucht (https://www.smarthomeng.de/nginx-als-reverseproxy). Das Problem mit der GeoIP habe ich "gelöst" indem ich in der /etc/nginx/nginx.conf den oberen Teil weg gelassen habe und in der /etc/nginx/conf.d/<mydomain>.conf die erste if-Anweisung auskommentiert habe.
Anschließend alles nach Anleitung und bis einschließlich der drei Passwörter für die SmartVisu, Alexa und shng.
Beim Testen des Zugriffs bekomme ich eine Fehlermeldung im Browser
Als Work-Around habe ich unter /etc/sites-available/default die beiden Zeilen auskommentiert - steht so nicht in der Anleitung, klang für mich aber logisch:HTML-Code:Fehler: Verbindung fehlgeschlagen Firefox kann keine Verbindung zu dem Server unter xxxxxxx.org aufbauen.
Die Fehlermeldung im Browser lautet nun:HTML-Code:listen 443 ssl default_server; listen [::]:443 ssl default_server;
Kann damit jemand etwas anfangen? Vielen Dank schonmal im Voraus!HTML-Code:Fehler: Gesicherte Verbindung fehlgeschlagen Beim Verbinden mit xxxxxxx.org trat ein Fehler auf. PR_END_OF_FILE_ERROR
Einen Kommentar schreiben:
-
Klar, da ist alles schon vorbereitet und es gibt ein "setup_all" oder "setup_nginx" Skript, das dich durch den Prozess führt. Das baut aber auf Zertifikats-Auth auf, basic auth habe ich nie probiert. Aber musst ja nur das erstellte Zertifikat auf den Client laden und im Browser auswählen.
Bezüglich dyndns hatte ich bis dato keine Probleme. Ich nutze synology.me
Einen Kommentar schreiben:
-
Das wird dann Tendenziell bei allen dyndns providern so sein...da fand ich die lösung von callidomus klasse. Auch wenn sie was gekostet hat. Ich glaube bei fest-ip gibt es so einen ähnlichen service.Zitat von Jürgen Beitrag anzeigenHallo Jürgen,
Die Domain sollte Deine eigene sein :-)
Ich hatte zunächst mein Dyndns account versucht, da hat sich aber Letsencrypt beschwert, da dort schon zu viele Domains registriert wurden.
Ich habe bei meiner eigenen Domain eine Subdomain für shng eingerichtet und für diese dann problemlos ein Zertifikat erstellt also z.B. "shng.heckmann.de"
Myfritz kann klappen, aber auch hier ist die Wahrscheinlichkeit groß, dass zu viele bereits dort registriert sind.
Onkelandy kann ich dein Image auch im Anwendungsfall ReverseProxy nutzen?
Einen Kommentar schreiben:
-
Du könntest https://dl.miyuru.lk/geoip/maxmind/c...axmind4.dat.gz nutzen.
Ich hab das im Raspi Image so drin und funktioniert. https://github.com/smarthomeNG/ansib...n/04_nginx.yml
Einen Kommentar schreiben:


Einen Kommentar schreiben: