Ankündigung

Einklappen
Keine Ankündigung bisher.

Zugriff von extern / WSS

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

    Zugriff von extern / WSS

    (Auslagerung der Beiträge aus dem "Haupt-Thread")

    Die entsprechenden Beiträge sollten eigentlich hierhin verschoben werden - aber ich raff's nicht...
    Zuletzt geändert von gaert; 02.09.2017, 06:33.
    EDOMI - Intelligente Steuerung und Visualisierung KNX-basierter Elektro-Installationen (http://www.edomi.de)

    #2
    Ich kann einen ersten Erfolg vermelden.

    Ich hab meinen Apache2 Reverse-Proxy aufgemotzt, so dass er auch die websocket-Verbindung weiterleitet.
    Damit - und mit der Modifikation in der app0.php - funktioniert der Zugriff von außen nun auch ohne Portforwarding auf edomi.

    Aber: die websocket-Verbindung läuft noch unverschlüsselt! Da motzt chrome erstmal rum und man muss es freigeben.
    Ich bin dran, hier noch auf SSL upzugraden.

    1) a2enmod proxy_wstunnel
    2) neuer vhost:
    Code:
       <VirtualHost *:8081>
            ServerAdmin hostmaster@mydomain.de
            ServerName edomi.proxy.mydomain.de
            DocumentRoot /var/www/html/proxy
    
            ProxyPass / ws://192.168.178.101:8081/
            ProxyPassReverse / ws://192.168.178.101:8081/
        </VirtualHost>
    3) Listen 8081 in ports.conf
    4) websocket-port in edomi auf 8081 geändert (von 8080 - der ist auf meinem Proxy schon belegt)
    5) Modifikation in app0.php


    ToDo:
    - SSL für websocket
    - Auth für websocket (?)

    Kommentar


      #3
      gaert
      du sagtest, Clientseitig wäre wss kein Problem. Wo müsste man anpacken, damit ein ssl-websocket geöffnet wird?

      Kommentar


        #4
        Eigentlich muss nur "ws://" durch "wss://" ersetzt werden...
        EDOMI - Intelligente Steuerung und Visualisierung KNX-basierter Elektro-Installationen (http://www.edomi.de)

        Kommentar


          #5
          das wäre dann hier in der main.js, oder?

          Code:
          function class_websocket() {
              var that=this;
          
              this.open=function(serverIp,serverPort) {
                  try {
                      socket=new WebSocket('ws://'+serverIp+':'+serverPort);

          Kommentar


            #6
            Korrekt
            EDOMI - Intelligente Steuerung und Visualisierung KNX-basierter Elektro-Installationen (http://www.edomi.de)

            Kommentar


              #7
              Zitat von SirSydom Beitrag anzeigen
              das wäre dann hier in der main.js, oder?

              Code:
              function class_websocket() {
              var that=this;
              
              this.open=function(serverIp,serverPort) {
              try {
              socket=new WebSocket('ws://'+serverIp+':'+serverPort);
              Kannst du wenn es bei dir alles einwandfrei funktioniert eine kurze Anleitung schreiben was zu tun ist? Am besten ab dem Punkt wo der Apache Webserver auf Linux (Ubuntu Server) installiert wurde
              Wäre prima! Bin nicht so drin im Linux...

              Kommentar


                #8
                HI
                das ws:// bzw. wss: // thema müsste ja "dynamisch" angepasst werden: bei zugriff auf die Visu via HTTP (von intern) muss ws:// genutzt werden - bei https das wss.
                Ich denke der Code-Schnipsel den ich gepostet hatte müsste das schon fast fertig liefern?

                Welche konkrete änderung hast du in app0.php gemacht?

                Gruß
                Thorsten
                Meine Inst.: 73 KNX-Geräte, 18 Rolläden, 36 Schaltkanäle, 22 Dimm-Kanäle, 12 Heizungskanäle, 16 PM, 18 Gruppentaster
                Wiregate: >50 x Temperaturfühler, 2 x Luftfeuchte, Transponderleser || Gira Homeserver: Visu: 98%, Logiken 98% || Heizung: Dimplex WP mit KNX || Sonstiges: 3xSqueezebox, Mobotix T24, Asterisk

                Kommentar


                  #9
                  nur zur Vollständigkeit:
                  Der Schnipsel auf den sich ThorstenGehrig bezieht steht hier: https://knx-user-forum.de/forum/proj...31#post1127931

                  Die Änderung an der app0.php die ich oben erwähnte ist diese hier https://knx-user-forum.de/forum/proj...32#post1126332


                  Code:
                    visu_socket.open('<?echo global_serverIP;?>',<?echo global_visuWebsocketPort;?>);
                  
                  austauschen gegen:
                  
                                  visu_socket.open(window.location.host,<?echo global_visuWebsocketPort;?>);

                  vielleicht komme ich heute abend mal dazu.. zur Zeit komme ich irgendwie zu nix - kann nix versprechen.

                  Kommentar


                    #10
                    so liebe Freunde der SSL-Verschlüsselung - bei mir läufts!

                    Quick'n'Dirty, aber es läuft.
                    Was noch fehlt ist die Umschaltung zwischen ws und wss (hab einfach mal nur schnell ein s hinzugefügt)

                    edit:
                    Umschaltung läuft auch, nun auch wieder intern erreichbar.


                    Also, um auch SSL für die websockets zu haben muss man zwei Dinge tun:
                    main.js nach Vorschlag von Thorsten ändern:

                    sowie in der in #2 geposteten vhost config einfügen:

                    Code:
                            SSLEngine on
                    
                            SSLCertificateFile    /etc/letsencrypt/live/bliblablubb/cert.pem
                            SSLCertificateKeyFile /etc/letsencrypt/live/bliblablubb/privkey.pem
                    sofern man noch kein ssl cert hat, muss man sich eins besorgen, z.B. letsencryt.

                    Die Idee mit HowTo ist schön, dafür fehlt mir aber momentan die Zeit.
                    Zuletzt geändert von SirSydom; 07.09.2017, 21:27.

                    Kommentar


                      #11
                      Hallo Leute

                      Kann ich auf Edomi https Aktivieren mit einen Zertifikat?

                      Danke


                      Kommentar


                        #12
                        Ja.
                        Ohne Zertifikat wird SSL "schwierig".

                        Kommentar


                          #13
                          Hat sonst noch jemand den Zugriff von außen mit SSL oder ohne hinbekommen und kann eine einfache Anleitung schreiben? Ich bekomme einfach nicht hin. Noch einfacher wäre ein Image des reverse Proxy wo man lediglich die ip´s ändern muss

                          Kommentar


                            #14
                            also ich habe https direkt auf dem Edomi aktiviert, ich muss nur noch das mit dem socket testen der geht bei mir noch nicht!

                            Kommentar


                              #15
                              Hallo zusammen,
                              kann jemand von denen wo es bereits wieder läuft eine kurze Anleitung erstellen, was auf dem PI geändert werden muss und was auf EDOMI. Ich würde auch gern auf die 1.52 updaten möchte aber nicht meine Alexa<> EDOMI Funktion sowie den Zugriff von extern zerstören. Danke für die Unterstützung!

                              Kommentar

                              Lädt...
                              X