Ankündigung

Einklappen
Keine Ankündigung bisher.

Reverse Proxy

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

  • psilo
    antwortet
    Hallo,

    habe das Beispiel nun bei mir auch integriert, wobei bei mir die SV auf eine Maschine hinter den ReverseProxy läuft. Geht einwandfrei - mind. auf Android.

    smai irgendwie zeigt die SV2.9 in der Admin nicht an, dass ich Port 443 als Websocket Port konfiguriert habe, obwohl im INI File der Richtige steht, steht in der GUI 2424?!

    Einen Kommentar schreiben:


  • thoms3n
    antwortet
    malte, das ganze scheint ein SSL Problem zu sein. Irgendwie scheint der nginx manchmal (und bei einem ios client immer) das SSL Offloading nicht richtig zu machen. Im Debug Log sind auch SSL fehler zu sehen.
    Der ReverseProxy mit HTTP (Port80) klappt bestens.

    Einen Kommentar schreiben:


  • malte
    antwortet
    thoms3n: wie sieht es bei dir nach dem Upgrade aus? Ich habe noch was gegoogelt und gebastelt - aber bisher ohne Erfolg.

    Einen Kommentar schreiben:


  • malte
    antwortet
    Läuft bei mir auf einer Synology - mit dem Original-Paket von denen: nginx version: nginx/1.11.10. Die Version ist wohl vom 14. Februar 2017. Lt. deinem Link ist die nicht mehr betroffen.

    Aktuell ist 1.12.0. Ob ich die auf die Synology braten will ... mal gucken.

    Einen Kommentar schreiben:


  • thoms3n
    antwortet
    Zitat von malte Beitrag anzeigen
    Funktioniert tatsächlich! Sehr cool!

    Probleme habe ich "nur" bei iOS. Egal welcher Browser, die Verbindung zum SmarthomeNG wird offensichtlich nicht aufgebaut: die Visu hat keine Funktion und der Auto Re-Connect springt an.

    Klappt das Konstrukt bei jemanden von euch auch auf iOS?
    Ich habe ebenfalls das iOS Problem (aber nur ein iOS Gerät daher keine Prio...) Welche nginx Version verwendest du? Das ist wohl in den neuen Versionen behoben.
    Ich nutze aktuell eine uralte aus Debian stable und werde heute Abend mal updaten.
    http://forum.directadmin.com/showthread.php?t=53570

    Einen Kommentar schreiben:


  • malte
    antwortet
    Funktioniert tatsächlich! Sehr cool!

    Probleme habe ich "nur" bei iOS. Egal welcher Browser, die Verbindung zum SmarthomeNG wird offensichtlich nicht aufgebaut: die Visu hat keine Funktion und der Auto Re-Connect springt an.

    Klappt das Konstrukt bei jemanden von euch auch auf iOS?

    Einen Kommentar schreiben:


  • patrickgoll
    antwortet
    Ja das sieht sehr gut aus! Ich kam leider nicht dazu. Das System auf dem das lief bislang ist mir abgeschmiert und ich muss es erst neu aufsetzen. Dann werde ich das aber auch entsprechend testen. Danke vorab auf jeden Fall schonmal fürs Testen thoms3n

    Einen Kommentar schreiben:


  • thoms3n
    antwortet
    Danke kaiwerner!

    Die Anleitung funktionier so. Die Schritte nochmals zusammengefasst:
    - nginx mit PHP Support installieren
    - eine vhost config anlegen wie von kaiwerner beschrieben mit dem wichtigen Teil "if ($http_upgrade = websocket ...."
    - in der smartvisu den config_driver_port auf 443 ändern
    - wenn nicht der develop branch verwendet wird dann in io_smarthome.py.js und io_smarthome.py.min.js "ws://" durch "wss://" ersetzten


    Und schon hat man nur noch von localhost Verbindungen auf Port 2424

    netstat -a | grep 2424
    tcp 0 0 *:2424 *:* LISTEN
    tcp 0 0 localhost:2424 localhost:53796 VERBUNDEN
    tcp 0 0 localhost:53796 localhost:2424 VERBUNDEN



    Einen Kommentar schreiben:


  • malte
    antwortet
    patrickgoll : gibt es von dir eine Erfolgsmeldung? Läuft das so?

    Einen Kommentar schreiben:


  • patrickgoll
    antwortet
    Heiliges Kanonenrohr. Das ist aber ein Eingriff unter der Haube. Wahnsinn. Das probiere ich dann mal aus und lass euch wissen, ob das so funktioniert.

    Einen Kommentar schreiben:


  • kaiwerner
    antwortet
    Also ich glaube, ich hatte noch php-fpm für Fastcgi der Smartvisu installiert und die Berechtigung in der nginx.conf und der /etc/php5/fpm/pool.d/www.conf von www-data auf admin umgebogen.
    Das war aber glaube ich schon für nginx.

    Konfigseite - Auszug aus der config.ini
    Code:
    ...
    driver = "smarthome.py"
    driver_address = "smarthome.home.***.de"
    driver_autoreconnect = true
    driver_port = "443"
    driver_realtime = true
    js = "min.js"
    ...
    und in visu/driver/io_smarthome.py.js aus dem develop Branch, da ist das umbiegen auf wss drin. https://github.com/Martin-Gleiss/sma...acbe03c9cb29bd

    Einen Kommentar schreiben:


  • patrickgoll
    antwortet
    Das geht bei mir irgendwie nicht. Der Fehler lautet: unknown directive "if ($http...." fehlt da noch was? Und wie meinst du das in deinem Edit? Kannst du ein Bild der Konfigseite posten?

    Einen Kommentar schreiben:


  • kaiwerner
    antwortet
    ../sites-enabled/smarthome
    Code:
    server {
            listen 443 ssl;
            server_name smarthome.home.***.de;
    
           ssl_certificate /etc/ssl/certs/smarthome@***.de.crt;
           ssl_certificate_key /etc/ssl/private/smarthome_private_key.pem;
           ssl_client_certificate /etc/ssl/ca/ca.crt;
           ssl_verify_client on;
    #       ssl_verify_client off;
    
           location / {
                    root /var/www/html;
                    index index.html index.php;
                    autoindex on;
                    if ($http_upgrade = websocket) {
                            proxy_pass http://localhost:2424;
                    }
            }
    
            location ~ \.php$ {
                    root /var/www/html;
                    fastcgi_pass unix:/var/run/php5-fpm.sock;
                    fastcgi_param  SCRIPT_FILENAME  $document_root/$fastcgi_script_name;
                    include fastcgi_params;
            }
    }
    
    server {
            listen 80;
            server_name smarthome.home.***.de;
    #        return 301 https://$server_name$request_uri;
    
            location / {
                    root /var/www/html;
                    index index.html index.php;
                    autoindex on;
                    if ($http_upgrade = websocket) {
                            proxy_pass http://localhost:2424;
                    }
            }
            location ~ \.php$ {
                   root /var/www/html;
                    fastcgi_pass unix:/var/run/php5-fpm.sock;
                    fastcgi_param  SCRIPT_FILENAME  $document_root/$fastcgi_script_name;
                    include fastcgi_params;
            }
    
            location /baos {
                    return 301 http://debiantest.home.***.de/baos;
            }
    
    #       location ~ ^/post/(.*) {
    #                rewrite ^ http://debiantest.home.***.de/post/$1;
    #       }
    
    }
    Ich hoffe das hilft.

    [Edit]
    Und in Smartvisu "ws://" durch "wss://" ersetzen und Port von 2424 auf 443 geändert.
    Zuletzt geändert von kaiwerner; 23.05.2017, 15:35.

    Einen Kommentar schreiben:


  • patrickgoll
    antwortet
    Also ich habe jetzt mal diverse Kombinationen durchprobiert, bekomme das aber nicht zum laufen. Egal wie ich es eintrage, so habe ich stets Anzeigefehler in der Visualisierung. Icons und Bilder werden nicht mehr dargestellt und die Funktion bleibt auch aus. Nachfolgendes Beispiel ist sinnbildlich für das was ich versucht habe.

    Code:
         map $http_upgrade $connection_upgrade {        
               default upgrade;
                ''      close;    
          }      
    
         server {         ...          
    
         location /smartVISU/ {            
             proxy_pass http://backend;            
             proxy_http_version 1.1;            
             proxy_set_header Upgrade $http_upgrade;            
             proxy_set_header Connection $connection_upgrade;        
         }
    für das http://backend habe ich verschiedene Einträge versucht: IP:2424, 127.0.0.1:2424, 127.0.0.1:80, 127.0.0.1 ohne Port usw. Keines davon funktioniert wirklich. Ich bin mir zwischenzeitlich nicht mehr sicher ob das wirklich geht. Auch wenn kaiwerner das gesagt hat.

    Einen Kommentar schreiben:


  • patrickgoll
    antwortet
    Zitat von kaiwerner Beitrag anzeigen
    Ja geht. Mache ich so.
    Ja das würde mich auch interessieren. Wie sieht es aus mit der Config? Poste mal deinen NGINX teil bitte. Hab hier alles vorbereitet und kann direkt testen.
    Zuletzt geändert von bmx; 18.05.2017, 17:16.

    Einen Kommentar schreiben:

Lädt...
X