Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

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

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    16
    1
    1.8k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    891

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.1k

Iobroker über ReverseProxy (NGINX)

Scheduled Pinned Locked Moved ioBroker Allgemein
10 Posts 4 Posters 1.4k Views 4 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • Alexander PeterA Offline
    Alexander PeterA Offline
    Alexander Peter
    wrote on last edited by
    #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 Replies Last reply
    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 Online
      mickymM Online
      mickym
      Most Active
      wrote on last edited by 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 Reply Last reply
      0
      • mickymM mickym

        gelöscht

        mickymM Online
        mickymM Online
        mickym
        Most Active
        wrote on last edited by 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 Reply Last reply
        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 Online
          mickymM Online
          mickym
          Most Active
          wrote on last edited by 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 Reply Last reply
          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
            wrote on last edited by
            #5

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

            JLegJ 1 Reply Last reply
            0
            • Alexander PeterA Alexander Peter

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

              JLegJ Offline
              JLegJ Offline
              JLeg
              wrote on last edited by
              #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 Reply Last reply
              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
                wrote on last edited by
                #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 Reply Last reply
                0
                • JLegJ Offline
                  JLegJ Offline
                  JLeg
                  wrote on last edited by
                  #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 Reply Last reply
                  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
                    wrote on last edited by
                    #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 Reply Last reply
                    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
                      wrote on last edited by
                      #10

                      @alexander-peter

                      Klasse, dass du die Config geteilt hast.

                      Gibt es hier mittlerweile Neuerungen?

                      1 Reply Last reply
                      0
                      Reply
                      • Reply as topic
                      Log in to reply
                      • Oldest to Newest
                      • Newest to Oldest
                      • Most Votes


                      Support us

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

                      709

                      Online

                      32.6k

                      Users

                      82.1k

                      Topics

                      1.3m

                      Posts
                      Community
                      Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                      ioBroker Community 2014-2025
                      logo
                      • Login

                      • Don't have an account? Register

                      • Login or register to search.
                      • First post
                        Last post
                      0
                      • Home
                      • Recent
                      • Tags
                      • Unread 0
                      • Categories
                      • Unreplied
                      • Popular
                      • GitHub
                      • Docu
                      • Hilfe