Ankündigung

Einklappen
Keine Ankündigung bisher.

smartVISU nicht erreichbar über NGINX

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    smartVISU nicht erreichbar über NGINX

    Hallo Community,

    Leider habe ich alles schon probiert SmartVisu von außerhalb zu erreichen, was mit Alexa gut geklappt hat, gilt nicht für smartVISU.
    Habt ihr Ideen Anregungen um mein Problem zu lösen!? Ich bin leider gerade echt aufgeschmissen.

    Ich möchte mein SmartVisu 2.9 (NAS als DOCKER) über NGINX (Läuft einem PI) zugänglich machen.

    Was läuft schon:
    - NGINX läuft mit Letsencrypt
    - DynDNS eingerichtet
    - Ports 80 und 443 auf Router freigeben
    - Smartvisu ist local über IP:8080 erreichbar
    - NAS ist erreichbar über Port 80
    - Alexa funktioniert

    Was nicht läuft:

    - Zugriff auf SmartVisu
    (Benutzer und Passwort wird abgefragt, danach 404 NOT FOUND)

    Folgender Error aus meinem NGINX log:

    2022/09/16 09:50:14 [error] 16107#16107: *293 open() "/var/www/my.dyndns.de/index.php" failed (2: No such file or directory), client: 179.203.107.2, server: my.dyndns.de, request: "GET /index.php? HTTP/1.1", host: "179.203.107.2"

    Auszug aus meiner my.dyndns.de.conf

    Code:
    root /var/www/my.dyndns.de;
    index index.php index.htm index.html;
    
    # Weiterleitung zu SmartHomeNG (Websocket Schnittstelle) mit Basic Auth
    # Nur Verbindungen gegen "/" durchlassen! Also weder auf Dateien noch Verzeichnisse (= nur Websocket Connects)
    
    location = / {
       auth_basic "Restricted Area: smartVISU";
       auth_basic_user_file /etc/nginx/.smartvisu;
       proxy_pass [URL="http://192.168.0.157:8080;"]http://198.162.0.157:8080;[/URL]
    }
    
    
    # Zugriff auf die smartVISU mit Basic Auth
    
    location /smartVISU {
       auth_basic "Restricted Area: smartVISU";
       auth_basic_user_file /etc/nginx/.smartvisu;
       proxy_pass [URL]http://198.162.0.157:8080;[/URL]
       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;
       proxy_pass [URL]http://198.162.0.157:9000/;[/URL]
       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;
       # proxy_pass [URL]http://198.162.0.157:2727/;[/URL]
       proxy_pass [URL]http://198.162.0.157:8383/;[/URL]
       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;
    }
    Was habt ihr für root in der my.dyndns.de.conf eingeben?
    Zuletzt geändert von pancho7; 19.09.2022, 18:57.

    #2
    Hi pancho7 ,

    versuchs mal mit einem "slash" hinter der URL:

    statt
    Zitat von pancho7 Beitrag anzeigen
    Code:
    proxy_pass http://198.162.0.157:8080/;
    Ich vermute, dass die Config für den Websocket auch nicht funktioniert.

    Code:
    location = / {
       auth_basic "Restricted Area: smartVISU";
       auth_basic_user_file /etc/nginx/.smartvisu;
       proxy_pass http://192.168.0.157:8080;
       }
    Der shNG-Websocket lauscht standardmäßig auf Port 2424. Ich vermute Du musst auf diesen Port mappen

    Gruss Andre

    Kommentar


      #3
      Für smartVISU muss das root-Verzeichnis "/var/www/html" sein. Wenn für Alexa root "/var/www/my.dyndns.de" funktioniert, dann kannst Du innerhalb der location /smartVISU ein eigenes root-Verzeichnis angeben.

      Wie Andre schreibt, wird es noch ein Problem mit dem Websocket geben. Hier muss der Client ja direkt mit dem Websocket von smarthomeNG kommunizieren. smartVISU auf dem Client schickt die Anfrage per Websocket-Protokoll an ws://<DeineDynDNS>:80 und der nginx muss dies dann als Websocket-Verbindung an shNG mit Port 2424 weiter leiten. In smartVISU v2.9 klappt allerdings eine parallele Verbindung von intern (IP und Port konfiguriert) und extern (IP und Port sind leer) nicht ohne weiteres. Dies ist erst in v3.2.x gelöst.

      Gruß
      Wolfram

      Kommentar


        #4
        Hallo, vielen dank schon mal für euer Feedback habe alle Änderung vorgenommen. Es läuft noch nicht ABER, das Fehlerbild hat sich geändert.

        location = / {
        auth_basic "Restricted Area: smartVISU";
        auth_basic_user_file /etc/nginx/.smartvisu;
        proxy_pass http://192.168.0.157:2424;
        }

        location /smartVISU {
        auth_basic "Restricted Area: smartVISU";
        auth_basic_user_file /etc/nginx/.smartvisu/;
        proxy_pass http://198.162.0.157:8080;
        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;
        }

        ... und Root angepasst

        FEHLERBILD:

        Error Log von NGINX:
        022/09/19 19:35:55 [error] 32308#32308: *1636 open() "/var/www/html/favicon.ico" failed (2: No such file or directory), client: 179.203.107.2, server:my.dyndns.de, request: "GET /favicon.ico HTTP/1.1", host: "179.203.107.2", referrer: "https://179.203.107.2/smartVISU/index.php?

        Im Browser schreib er FILE NOT FOUND

        Habt ihr noch eine Idee, wo ich ansetzen könnte?

        @wvhn: Mit Smartvisu habe ich leider immer noch das Problem das ich kein lauffähigen Smartvisu Container finde mit Version 3.2


        Kommentar


          #5
          An der Fehlermeldung kann man sehen, dass der nginx auf das falsche Verzeichnis umleitet. Ich denke, dass Du innerhalb des Abschnitts "location /smartVISU" den root auf "/var/www/html/smartVISU" setzen musst.

          Mangels Erfahrungen mit Docker kann und werde ich keinen Container erstellen. Dazu müsste sich ein Freiwolliger finden.

          Gruß
          Wolfram

          Kommentar

          Lädt...
          X