Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. Iobroker über ReverseProxy (NGINX)

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.3k

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.3k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    14
    1
    2.6k

Iobroker über ReverseProxy (NGINX)

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
10 Beiträge 4 Kommentatoren 1.4k Aufrufe 4 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • Alexander PeterA Offline
    Alexander PeterA Offline
    Alexander Peter
    schrieb am zuletzt editiert von
    #1

    Re: IoBroker (und vis) über ReverseProxy

    Hallo zusammen, ich bin ziemlich am verzweifeln da ich den iobroker nicht über einen reverse proxy bekomme.
    Ich verwende den neuen Admin adapter und bekomm nur die Ladeanimitation zu sehen. Am Proxy bzw. im Browser ist nachvollziehbar das socket.io anfragen versendet werden (Http Status 200) die URL passt leider garnicht.

    Für meine Tests habe ich kein SSL und keine weitere Authentifizierung eingebaut.

    map $http_upgrade $connection_upgrade {
    default upgrade;
    ''close;
    }
    
    
    upstream iobroker.peter-net.local {
    server iobroker.peter-net.local:8081;
    }
    
    
    
    location /iobroker/{
    
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $host;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
    
    
    proxy_set_headerHost $host;
    proxy_set_headerX-Real-IP $remote_addr;
    proxy_set_headerX-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_headerX-Forwarded-Proto $scheme;
    proxy_pass http://iobroker.peter-net.local/;
    proxy_read_timeout  90;
    
    }
    

    Die Requests die meines Erachtens nicht passen sind:
    requests.jpg
    bzw.:

    194.XXX.XXX.XXX- admin [19/Nov/2021:08:45:53 +0000] "GET /?sid=XXXXXXXX&name=admin HTTP/1.1" 200 1071 -" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0"
    

    meine Vermutung ist dass ich nginx beibringen muss dass die requests nicht an "/?sid=XXXXXX&name=admin" gehen sollen sondern an "/iobroker/?sid=XXXXXX&name=admin"

    Hat jemand einen Tipp für mich? Ich bin leider ziemlich ratlos.:thinking_face:

    mickymM 2 Antworten Letzte Antwort
    0
    • Alexander PeterA Alexander Peter

      Re: IoBroker (und vis) über ReverseProxy

      Hallo zusammen, ich bin ziemlich am verzweifeln da ich den iobroker nicht über einen reverse proxy bekomme.
      Ich verwende den neuen Admin adapter und bekomm nur die Ladeanimitation zu sehen. Am Proxy bzw. im Browser ist nachvollziehbar das socket.io anfragen versendet werden (Http Status 200) die URL passt leider garnicht.

      Für meine Tests habe ich kein SSL und keine weitere Authentifizierung eingebaut.

      map $http_upgrade $connection_upgrade {
      default upgrade;
      ''close;
      }
      
      
      upstream iobroker.peter-net.local {
      server iobroker.peter-net.local:8081;
      }
      
      
      
      location /iobroker/{
      
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header Host $host;
      proxy_http_version 1.1;
      proxy_set_header Upgrade $http_upgrade;
      proxy_set_header Connection "upgrade";
      
      
      proxy_set_headerHost $host;
      proxy_set_headerX-Real-IP $remote_addr;
      proxy_set_headerX-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_headerX-Forwarded-Proto $scheme;
      proxy_pass http://iobroker.peter-net.local/;
      proxy_read_timeout  90;
      
      }
      

      Die Requests die meines Erachtens nicht passen sind:
      requests.jpg
      bzw.:

      194.XXX.XXX.XXX- admin [19/Nov/2021:08:45:53 +0000] "GET /?sid=XXXXXXXX&name=admin HTTP/1.1" 200 1071 -" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0"
      

      meine Vermutung ist dass ich nginx beibringen muss dass die requests nicht an "/?sid=XXXXXX&name=admin" gehen sollen sondern an "/iobroker/?sid=XXXXXX&name=admin"

      Hat jemand einen Tipp für mich? Ich bin leider ziemlich ratlos.:thinking_face:

      mickymM Offline
      mickymM Offline
      mickym
      Most Active
      schrieb am zuletzt editiert von mickym
      #2

      gelöscht

      Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

      mickymM 1 Antwort Letzte Antwort
      0
      • mickymM mickym

        gelöscht

        mickymM Offline
        mickymM Offline
        mickym
        Most Active
        schrieb am zuletzt editiert von mickym
        #3

        gelöscht

        Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

        1 Antwort Letzte Antwort
        0
        • Alexander PeterA Alexander Peter

          Re: IoBroker (und vis) über ReverseProxy

          Hallo zusammen, ich bin ziemlich am verzweifeln da ich den iobroker nicht über einen reverse proxy bekomme.
          Ich verwende den neuen Admin adapter und bekomm nur die Ladeanimitation zu sehen. Am Proxy bzw. im Browser ist nachvollziehbar das socket.io anfragen versendet werden (Http Status 200) die URL passt leider garnicht.

          Für meine Tests habe ich kein SSL und keine weitere Authentifizierung eingebaut.

          map $http_upgrade $connection_upgrade {
          default upgrade;
          ''close;
          }
          
          
          upstream iobroker.peter-net.local {
          server iobroker.peter-net.local:8081;
          }
          
          
          
          location /iobroker/{
          
          proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
          proxy_set_header Host $host;
          proxy_http_version 1.1;
          proxy_set_header Upgrade $http_upgrade;
          proxy_set_header Connection "upgrade";
          
          
          proxy_set_headerHost $host;
          proxy_set_headerX-Real-IP $remote_addr;
          proxy_set_headerX-Forwarded-For $proxy_add_x_forwarded_for;
          proxy_set_headerX-Forwarded-Proto $scheme;
          proxy_pass http://iobroker.peter-net.local/;
          proxy_read_timeout  90;
          
          }
          

          Die Requests die meines Erachtens nicht passen sind:
          requests.jpg
          bzw.:

          194.XXX.XXX.XXX- admin [19/Nov/2021:08:45:53 +0000] "GET /?sid=XXXXXXXX&name=admin HTTP/1.1" 200 1071 -" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0"
          

          meine Vermutung ist dass ich nginx beibringen muss dass die requests nicht an "/?sid=XXXXXX&name=admin" gehen sollen sondern an "/iobroker/?sid=XXXXXX&name=admin"

          Hat jemand einen Tipp für mich? Ich bin leider ziemlich ratlos.:thinking_face:

          mickymM Offline
          mickymM Offline
          mickym
          Most Active
          schrieb am zuletzt editiert von mickym
          #4

          @alexander-peter Vergiss es meine Konfig - funktioniert mit dem Admin5 auch nicht mehr. Bleibe auch im Ladebildschirm hängen. - Stecke da aber keinen Aufwand mehr rein.
          Lediglich mein NodeRed Dashboard und Zugang zu NodeRed an sich funktioniert noch über nginx.

          Sorry dass ich nicht mehr helfen kann. :(

          Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

          Alexander PeterA 1 Antwort Letzte Antwort
          0
          • mickymM mickym

            @alexander-peter Vergiss es meine Konfig - funktioniert mit dem Admin5 auch nicht mehr. Bleibe auch im Ladebildschirm hängen. - Stecke da aber keinen Aufwand mehr rein.
            Lediglich mein NodeRed Dashboard und Zugang zu NodeRed an sich funktioniert noch über nginx.

            Sorry dass ich nicht mehr helfen kann. :(

            Alexander PeterA Offline
            Alexander PeterA Offline
            Alexander Peter
            schrieb am zuletzt editiert von
            #5

            @mickym Danke auf jeden fall für deine Mühe.

            JLegJ 1 Antwort Letzte Antwort
            0
            • Alexander PeterA Alexander Peter

              @mickym Danke auf jeden fall für deine Mühe.

              JLegJ Offline
              JLegJ Offline
              JLeg
              schrieb am zuletzt editiert von
              #6

              @alexander-peter Hi, ich hatte mir das auch mal konfiguriert, allerdings dann doch nicht benutzt; gerade mal mit dem aktuellen Admin5 getestet - bei mir funktionierts augenscheinlich.
              Meine Config sieht bissel anders aus, da ich da basic auth und letsencrypt mit drin habe, die entscheidenden Zeilen dürften aber sein:

              root         /opt/iobroker/iobroker-data/files/admin.admin/;
                      location ~ ^/(.*) { 
                          proxy_pass https://127.0.0.1:8081/$1$is_args$args;
                          proxy_http_version 1.1;
                          proxy_set_header Upgrade $http_upgrade;
                          proxy_set_header Connection "Upgrade";
                          proxy_set_header Host $host;
                      }
              
              
              Alexander PeterA 1 Antwort Letzte Antwort
              0
              • JLegJ JLeg

                @alexander-peter Hi, ich hatte mir das auch mal konfiguriert, allerdings dann doch nicht benutzt; gerade mal mit dem aktuellen Admin5 getestet - bei mir funktionierts augenscheinlich.
                Meine Config sieht bissel anders aus, da ich da basic auth und letsencrypt mit drin habe, die entscheidenden Zeilen dürften aber sein:

                root         /opt/iobroker/iobroker-data/files/admin.admin/;
                        location ~ ^/(.*) { 
                            proxy_pass https://127.0.0.1:8081/$1$is_args$args;
                            proxy_http_version 1.1;
                            proxy_set_header Upgrade $http_upgrade;
                            proxy_set_header Connection "Upgrade";
                            proxy_set_header Host $host;
                        }
                
                
                Alexander PeterA Offline
                Alexander PeterA Offline
                Alexander Peter
                schrieb am zuletzt editiert von
                #7

                @jleg

                danke für das Beispiel, stupide kopiert klappts leider - aber natürlich - nicht

                nachdem das root bei dir so angegeben ist - vermute ich der nginx läuft auf der selben maschine wie der iobroker?
                Und die definition der Location bezieht sich per regex auf alles. Somit kommen die websockt anfragen natürlich auch dort an wo sie hin sollen.

                In meinem Case hilft mir das leider nicht wirklich - trozdem danke

                1 Antwort Letzte Antwort
                0
                • JLegJ Offline
                  JLegJ Offline
                  JLeg
                  schrieb am zuletzt editiert von
                  #8

                  @alexander-peter sagte in Iobroker über ReverseProxy (NGINX):

                  @jleg

                  danke für das Beispiel, stupide kopiert klappts leider - aber natürlich - nicht

                  nachdem das root bei dir so angegeben ist - vermute ich der nginx läuft auf der selben maschine wie der iobroker?

                  Yep.

                  Und die definition der Location bezieht sich per regex auf alles. Somit kommen die websockt anfragen natürlich auch dort an wo sie hin sollen.

                  In meinem Case hilft mir das leider nicht wirklich - trozdem danke

                  da hilft meistens ‚debuggen‘ ;) - eigentlich sollte der nginx im log andeuten, was er macht oder nicht macht; dazu am besten den error-loglevel des nginx auf ‚info‘ setzen…

                  Je nachdem wie dein Fehlerbild ist, vielleicht auch mal in der Browserkonsole schauen, was passiert (F12).

                  Alexander PeterA 1 Antwort Letzte Antwort
                  0
                  • JLegJ JLeg

                    @alexander-peter sagte in Iobroker über ReverseProxy (NGINX):

                    @jleg

                    danke für das Beispiel, stupide kopiert klappts leider - aber natürlich - nicht

                    nachdem das root bei dir so angegeben ist - vermute ich der nginx läuft auf der selben maschine wie der iobroker?

                    Yep.

                    Und die definition der Location bezieht sich per regex auf alles. Somit kommen die websockt anfragen natürlich auch dort an wo sie hin sollen.

                    In meinem Case hilft mir das leider nicht wirklich - trozdem danke

                    da hilft meistens ‚debuggen‘ ;) - eigentlich sollte der nginx im log andeuten, was er macht oder nicht macht; dazu am besten den error-loglevel des nginx auf ‚info‘ setzen…

                    Je nachdem wie dein Fehlerbild ist, vielleicht auch mal in der Browserkonsole schauen, was passiert (F12).

                    Alexander PeterA Offline
                    Alexander PeterA Offline
                    Alexander Peter
                    schrieb am zuletzt editiert von
                    #9

                    @jleg
                    ja danke für den tipp ;) mit dem reverse geproxy bin ich nicht so wirklich fit.

                    ich habe eine config zusammengebastelt die jetzt akutell funzt (- aber hässlich ist:)
                    Tatsächlich waren es die im 1. Beitrag genannten socket.io anfragen. Diese habe ich in der Location "/" in den Argumenten abgeprüft uns schreibe sie um nach /iobroker/.....
                    (weiß jemand wie ich das in der location "/iobroker/" abfrühstücken kann? )
                    Vermutlich werden noch andere Probleme auftauchen. Was mir schon aufgefallen ist bei eingeschaltener auth über den iobroker wird auch wieder auf das root verzeichniss verwiesen

                    vll hilft es ja jemandem:

                    map $http_upgrade $connection_upgrade {
                      default upgrade;
                      ''      close;
                    }
                    
                    
                    
                    upstream iobroker.mein-heim.netz {
                          server iobroker.mein-heim.netz:8081;
                       }
                       
                     
                    
                    
                    server {
                      listen 80;
                      listen [::]:80;
                      server_name bla-blub.de;
                    
                      location /grafana {
                         proxy_pass         http://grafana.mein-heim.netz:3000;
                         rewrite  ^/grafana/(.*)  /$1 break;
                         proxy_set_header   Host $host;
                         auth_basic "Log in to continue";
                         auth_basic_user_file /etc/nginx/.htpasswd;
                      }
                    
                      location /cams/ {
                        proxy_pass http://motioneye.mein-heim.netz:8765/;
                        proxy_read_timeout 120s;
                         auth_basic "Log in to continue";
                         auth_basic_user_file /etc/nginx/.htpasswd;
                        
                      }
                    
                      location /nas/ {
                        proxy_pass http://diskstation.mein-heim.netz:5000/;
                        auth_basic "Log in to continue";
                        auth_basic_user_file /etc/nginx/.htpasswd;
                    
                      }
                    
                    location /guacamole {
                    	proxy_pass http://guacamole.mein-heim.netz:8080/guacamole;
                    	proxy_buffering off;
                    	access_log off;
                    	tcp_nodelay on;
                    	tcp_nopush off;
                    	sendfile on;
                    	client_body_buffer_size 10K;
                    	#client_header_buffer_size 1k;
                    	client_max_body_size 8m;
                    	#large_client_header_buffers 2 1k;
                    	client_body_timeout 12;
                    	#client_header_timeout 12;
                    	keepalive_timeout 15;
                    	send_timeout 10;
                    	proxy_http_version 1.1;
                    	proxy_set_header Upgrade $http_upgrade;
                    	proxy_set_header Connection "upgrade";
                    	auth_basic "Log in to continue";
                        auth_basic_user_file /etc/nginx/.htpasswd;
                    }
                    
                      
                      location / {
                      
                        if ($args ~* "/?sid=") {
                            rewrite ^ /iobroker/$args last;
                        }
                    	   
                      proxy_pass http://apache.mein-heim.netz/;
                      
                    }
                    
                    location /iobroker/ {
                        #proxy_pass http://iobroker.mein-heim.netz:8081/;
                    	proxy_pass http://iobroker.mein-heim.netz/;
                    	proxy_set_header Host $host;
                        proxy_http_version 1.1;
                        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                        proxy_set_header Upgrade $http_upgrade;
                        proxy_set_header Connection $connection_upgrade;
                        auth_basic "Log in to continue";
                        auth_basic_user_file /etc/nginx/.htpasswd;
                      
                    }
                    
                    
                      
                    }
                    
                    
                    Christoph1337C 1 Antwort Letzte Antwort
                    0
                    • Alexander PeterA Alexander Peter

                      @jleg
                      ja danke für den tipp ;) mit dem reverse geproxy bin ich nicht so wirklich fit.

                      ich habe eine config zusammengebastelt die jetzt akutell funzt (- aber hässlich ist:)
                      Tatsächlich waren es die im 1. Beitrag genannten socket.io anfragen. Diese habe ich in der Location "/" in den Argumenten abgeprüft uns schreibe sie um nach /iobroker/.....
                      (weiß jemand wie ich das in der location "/iobroker/" abfrühstücken kann? )
                      Vermutlich werden noch andere Probleme auftauchen. Was mir schon aufgefallen ist bei eingeschaltener auth über den iobroker wird auch wieder auf das root verzeichniss verwiesen

                      vll hilft es ja jemandem:

                      map $http_upgrade $connection_upgrade {
                        default upgrade;
                        ''      close;
                      }
                      
                      
                      
                      upstream iobroker.mein-heim.netz {
                            server iobroker.mein-heim.netz:8081;
                         }
                         
                       
                      
                      
                      server {
                        listen 80;
                        listen [::]:80;
                        server_name bla-blub.de;
                      
                        location /grafana {
                           proxy_pass         http://grafana.mein-heim.netz:3000;
                           rewrite  ^/grafana/(.*)  /$1 break;
                           proxy_set_header   Host $host;
                           auth_basic "Log in to continue";
                           auth_basic_user_file /etc/nginx/.htpasswd;
                        }
                      
                        location /cams/ {
                          proxy_pass http://motioneye.mein-heim.netz:8765/;
                          proxy_read_timeout 120s;
                           auth_basic "Log in to continue";
                           auth_basic_user_file /etc/nginx/.htpasswd;
                          
                        }
                      
                        location /nas/ {
                          proxy_pass http://diskstation.mein-heim.netz:5000/;
                          auth_basic "Log in to continue";
                          auth_basic_user_file /etc/nginx/.htpasswd;
                      
                        }
                      
                      location /guacamole {
                      	proxy_pass http://guacamole.mein-heim.netz:8080/guacamole;
                      	proxy_buffering off;
                      	access_log off;
                      	tcp_nodelay on;
                      	tcp_nopush off;
                      	sendfile on;
                      	client_body_buffer_size 10K;
                      	#client_header_buffer_size 1k;
                      	client_max_body_size 8m;
                      	#large_client_header_buffers 2 1k;
                      	client_body_timeout 12;
                      	#client_header_timeout 12;
                      	keepalive_timeout 15;
                      	send_timeout 10;
                      	proxy_http_version 1.1;
                      	proxy_set_header Upgrade $http_upgrade;
                      	proxy_set_header Connection "upgrade";
                      	auth_basic "Log in to continue";
                          auth_basic_user_file /etc/nginx/.htpasswd;
                      }
                      
                        
                        location / {
                        
                          if ($args ~* "/?sid=") {
                              rewrite ^ /iobroker/$args last;
                          }
                      	   
                        proxy_pass http://apache.mein-heim.netz/;
                        
                      }
                      
                      location /iobroker/ {
                          #proxy_pass http://iobroker.mein-heim.netz:8081/;
                      	proxy_pass http://iobroker.mein-heim.netz/;
                      	proxy_set_header Host $host;
                          proxy_http_version 1.1;
                          proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                          proxy_set_header Upgrade $http_upgrade;
                          proxy_set_header Connection $connection_upgrade;
                          auth_basic "Log in to continue";
                          auth_basic_user_file /etc/nginx/.htpasswd;
                        
                      }
                      
                      
                        
                      }
                      
                      
                      Christoph1337C Offline
                      Christoph1337C Offline
                      Christoph1337
                      schrieb am zuletzt editiert von
                      #10

                      @alexander-peter

                      Klasse, dass du die Config geteilt hast.

                      Gibt es hier mittlerweile Neuerungen?

                      1 Antwort Letzte Antwort
                      0
                      Antworten
                      • In einem neuen Thema antworten
                      Anmelden zum Antworten
                      • Älteste zuerst
                      • Neuste zuerst
                      • Meiste Stimmen


                      Support us

                      ioBroker
                      Community Adapters
                      Donate
                      FAQ Cloud / IOT
                      HowTo: Node.js-Update
                      HowTo: Backup/Restore
                      Downloads
                      BLOG

                      701

                      Online

                      32.5k

                      Benutzer

                      81.7k

                      Themen

                      1.3m

                      Beiträge
                      Community
                      Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                      ioBroker Community 2014-2025
                      logo
                      • Anmelden

                      • Du hast noch kein Konto? Registrieren

                      • Anmelden oder registrieren, um zu suchen
                      • Erster Beitrag
                        Letzter Beitrag
                      0
                      • Home
                      • Aktuell
                      • Tags
                      • Ungelesen 0
                      • Kategorien
                      • Unreplied
                      • Beliebt
                      • GitHub
                      • Docu
                      • Hilfe