Ankündigung

Einklappen
Keine Ankündigung bisher.

Reverse Proxy - Kein Zugriff auf Websocket

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

    #31
    Ich versuche das auch alles irgendwie einzurichten. Das Problem ist allerdings, dass das Backend nicht so recht läuft. Hier die Backend-Konfig:

    Code:
        # Network Plugin Weiterleitung
        location /shng {
            auth_basic "Restricted Area: SmartHomeNG";
            auth_basic_user_file /etc/nginx/.shng;
            proxy_pass http://192.168.1.30:8383/backend/;
            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;
        }
    Zum einen verstehe ich nicht, wieso ich bei proxy_pass hier den Pfad zum backend mit angeben muss, denn sonst geht es nicht und in allen Anleitungen zu diesem Thema ist nie der Pfad angegeben. Wenn ich das so mache kann ich das Backend zwar öffnen, aber das sieht serh merkwürdig aus, als ob er das StyleSheet (CSS) oder wie das heißt nicht findet, um das Design vernünftig zu laden.

    Kommentar


      #32
      Bei meinen Teilen habe ich das Backend explizit NICHT mit aufgenommen, da ich dieses nicht via Zertifikate/Basic Auth freigeben will. Hier verwende ich ein VPN, da ich von außerhalb das Backend auch in der Regel nicht nutze!

      Das Backend bezieht von anderen Kontextpfaden CSS, Bild- und JavaScript Dateien. Damit dieses geht, müssen alle diese Pfade als Rev-Proxy konfiguriert werden!

      Ich glaube Onkelandy hat das in seinem Image gemacht. Vielleicht mag er ja die Regeln posten.

      Kommentar


        #33
        Jup, in meinem Image funzt es. Hier findest du die Config. Wichtig ist das gstatic. Probleme gibt es leider mit den WebIfs der Plugins. Da wäre wohl die einzige Lösung, für jedes Plugin, wo du die webif nutzt, einen weiteren Eintrag in der config zu machen. Falls du ne bessere Lösung findest, bitte hier posten

        https://github.com/smarthomeNG/ansib...inx_https.conf

        Kommentar


          #34
          Hallo Leuts,

          ich hänge mich hier mal rein:
          Um Alexa ins SmarthomeNG einzubinde, bin ich nun auch bei der Anleitung zu NGINX angelangt.
          Nun steht aber in der Einleitung, dass der Prox alleine auf dem Raspi laufen soll.
          Ich würde den gerne auf meinem Debian Beagle neben der Smarthome Software zusaätzlich installieren.
          Getrennt mag besser sein, aber geht es auch daneben? Nach gleicher Anleitung? Oder ist diee Installation an anderer Stelle beschrieben?

          Gruß Jürgen

          Kommentar


            #35
            Es geht auch "daneben", ob die Anleitung zu 100% matched musst Du prüfen. Ich habe mich auf das Setting mit einem getrennten NGINX beschränkt, weil ich das bei mir so eingerichtet habe und nicht den Nerv hatte, ein Setting zu supporten, dass es bei mir nicht gibt

            Wenn was nicht passt, kann man sicher auch gut bei Onkelandy (Link in #33) spicken.

            Kommentar


              #36
              Hallo,

              ja, geht, startet nach der installation aber nicht, da Port 80 schon aktiv war. In dr Config Datei einen anderen Listen Port eintragen, dann geht es.
              Der 80er wird nach der Installation ja eh nicht mehr verwendet.
              Ich bekomme aber über Letsencrypt kein Zertifikat, für meinen DYNDNS derzeit zu viele vergeben..
              :-(

              Gruß Jürgen

              Kommentar


                #37
                Hallo,

                es ist mal wieder soweit. Das Zertifikat ist abgelaufen.
                Beim Erneuern bekomme ich aber diese Fehler:
                Code:
                pi@raspberrypi:~ $ sudo certbot certonly --rsa-key-size 4096 --webroot -w /var/www/letsencrypt -d my.domain
                Traceback (most recent call last):
                  File "/usr/bin/certbot", line 6, in <module>
                    from pkg_resources import load_entry_point
                  File "/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 72, in <module>
                    __import__('pkg_resources.extern.packaging.version')
                  File "/usr/lib/python2.7/dist-packages/pkg_resources/extern/__init__.py", line 43, in load_module
                    __import__(extant)
                ValueError: bad marshal data (unknown type code)
                Bis jetzt hat das immer funktioniert. Am System (eigenständiger Raspi) wurde auch nichts geändert.

                Kann hier jemand helfen?

                Gruß, Max

                Kommentar


                  #38
                  Hallo Max,

                  ich habe jetzt eine Woche versucht ein erstes Zertifikat zu bekommen, es wird immer abgelehtn, weil für meinen Dyndns Hoster schon zu viele pro Zeitraum ausgestellt wurden. Soweit ich die Doku verstanden habe, gilt das nicht unbeding für Erneuerungen, kann aber auch sein.
                  My.domain hast Du nur für das Forum gesetzt? ;-)

                  Gruß Jürgen

                  Kommentar


                    #39
                    Ja, my.domain steht nur hier im Forum.
                    Nach gleichem Prinzip, hab ich es ja immer gemacht.

                    Für mich sieht es so aus, als wäre etwas am System fehlerhaft. Irgendwelche packages oder so...

                    Ich hab aber von Linux so gut wie Null Ahnung.

                    Gruß, Max

                    Kommentar


                      #40
                      Ich glaube das bad marshal problem lässt sich durch Löschen der pycache bzw cache ordner lösen. Google müsste da genauer Bescheid geben.

                      Kommentar


                        #41
                        Hallo zusammen!

                        Also ich habe jetzt mal die diversesten Threads bzw. Anleitungen durchgelesen bekomme aber folgendes Problem nicht gelöst. Wenn ich von extern via NGINX auf die SmartVisu (NGINX und SHNG auf seperaten RPis) zugreife, werden dort keine Werte angezeigt.

                        Soweit ich verstanden habe, liegt es daran, dass in der SmartVisu die interne IP des Backends hinterlegt ist (X.X.X.X/Port 2424) und diese durch NGINX nicht abgefragt werden kann. In den offiziellen Anleitungen Link wird angmerkt, dass ein seperater RPi für NGINX verwendet wird, jedoch wird in der weiteren Beschreibung nicht weiter darauf eingegangen.

                        Oder mach ich da was falsch?

                        Besten Dank!
                        David
                        Zuletzt geändert von ic14m001; 06.03.2019, 09:48.

                        Kommentar


                          #42
                          NGINX muss so konfiguriert werden, dass nicht nur auf die smartVISU zugegriffen werden kann, sondern dass der Client auch auf den Websocket Port von SmartHomeNG zugreifen (X.X.X.X:2424) kann. Das liegt daran, dass der Client die Werte zur Anzeige nicht bei der smartVISU abfragt, sondern direkt bei SmartHomeNG.
                          Viele Grüße
                          Martin

                          There is no cloud. It's only someone else's computer.

                          Kommentar


                            #43
                            Hallo David,

                            bei mir hat es nur durch den Hack der iosmarthome Datei funktioniert.

                            Siehe Post #17

                            Grüße

                            Martin


                            Kommentar


                              #44

                              Msinn Also ich habe folgendes in der Datei "meinedomäne.conf" eingetragen:

                              Code:
                              # 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 http://10.0.0.191:2424;
                                  }
                              
                                  # Zugriff auf die smartVISU mit Basic Auth
                                  location /smartVISU {
                                      auth_basic "Restricted Area: smartVISU";
                                      auth_basic_user_file /etc/nginx/.smartvisu;
                                      proxy_pass http://10.0.0.191/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;
                              (Die IP 10.0.0.191 ist meine SHNG-Installtion im internen Netz)

                              bamus007 Habe mir den von Dir angeführten Post angesehen - muss ich diese Adaptionen auf dem SHNG-RPi machen? Weil auf dem NGINX-PRi ist ja SHNG nicht installiert ....

                              DANKE nochmals für die wie immer flotten Antworten

                              David
                              Zuletzt geändert von ic14m001; 06.03.2019, 09:47.

                              Kommentar


                                #45
                                Hallo David,

                                ja die iosmarthome ist auf dem SHNG-RPi.

                                Grüße

                                Kommentar

                                Lädt...
                                X