Skip to content
  • 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
Logo
  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. IoBroker (und vis) über ReverseProxy

NEWS

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

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.8k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.1k

IoBroker (und vis) über ReverseProxy

Scheduled Pinned Locked Moved ioBroker Allgemein
71 Posts 19 Posters 21.7k Views 9 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.
  • D Offline
    D Offline
    dodi666
    wrote on last edited by
    #57

    Hallo zusammen,
    gibt es eine laufende Reverse Proxy Konfiguration für den iobroker und die CCU?
    Die alte für den Apache bekomme ich leider nicht mehr ans laufen...

    Grüße Sascha

    1 Reply Last reply
    0
    • 1 123flip

      @MrLee said in IoBroker (und vis) über ReverseProxy:

      nginx

      Nochmals die Nachfrage: Hat das schon mal jemand mit NGINX erfolgreich zum Laufen gebracht? Habe jetzt verschiedenste Konfigurationen probiert, aber es funktioniert leider nicht...

      R Offline
      R Offline
      robotastic
      wrote on last edited by robotastic
      #58

      Hi @123flip und Hi Forum 🙂 ,

      ich nutze aktuell zwar eigentlich lovelace, habe aber mal eben vis installiert und die config erweitert und getestet. Auf den ersten Blick scheint alles zu funktionieren. Ich habe mal beides drin gelassen, so dass sich jeder nach Bedarf die entsprechenden Teile rauspicken kann. Ports und Servername(myiobrokerurl) können natürlich nach Bedarf angepasst werden. Bei Rückfragen gerne melden.

      Als Bonus hab ich auch noch eine Config für MQTTS angehängt 🙂

      Anzupassen

      • Ports
      • Servername (myiobrokerurl)
      • Pfade für SSL-Zertifikat und Key

      Urls und Ports:

      • Admin https: //myiobrokerurl
      • Lovelace https ://myiobrokerurl:8092
      • Vis https ://myiobrokerurl:8083

      nginx/conf.d/iobroker.conf

      #admin config
      server { # simple reverse-proxy
          listen 80;
          listen [::]:80;
      
          return 301 https://myiobrokerurl$request_uri;
      }
      
      server{
          listen 443;
          listen [::]:443;
      
          server_name myiobrokerurl;
          ssl_certificate /etc/ssl/certs/myiobrokerurl.cert.pem;
          ssl_certificate_key /etc/ssl/private/myiobrokerurl.key.pem;
      
          ssl on;
          ssl_session_cache  builtin:1000  shared:SSL:10m;
          ssl_protocols  TLSv1 TLSv1.1 TLSv1.2;
          ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
          ssl_prefer_server_ciphers on;
      
          access_log            /var/log/nginx/myiobrokerurl.access.log;
      
          location / {
      
            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;
      
            proxy_pass          http://127.0.0.1:8081;
            proxy_read_timeout  90;
      
            proxy_redirect      http://127.0.0.1:8081 https://myiobrokerurl;
          }
      }
      #admin end
      
      #lovelace config
      map $http_upgrade $connection_upgrade {
          default upgrade;
          '' close;
      }
      
      
      server{
          listen 8083;
          listen [::]:8083;
      
          server_name myiobrokerurl;
          ssl_certificate /etc/ssl/certs/myiobrokerurl.cert.pem;
          ssl_certificate_key /etc/ssl/private/myiobrokerurl.key.pem;
      
          ssl on;
          ssl_session_cache  builtin:1000  shared:SSL:10m;
          ssl_protocols  TLSv1 TLSv1.1 TLSv1.2;
          ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
          ssl_prefer_server_ciphers on;
      
          access_log            /var/log/nginx/myiobrokerurl.access.log;
      
          location / {
      
            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;
      
            proxy_pass          http://127.0.0.1:8082;
            proxy_read_timeout  90;
      
            proxy_redirect      http://127.0.0.1:8082 https://myiobrokerurl:8082;
          }
      }
      #lovelace end
      
      #vis conf
      server{
          listen 8092;
          listen [::]:8092;
      
          server_name myiobrokerurl;
          ssl_certificate /etc/ssl/certs/myiobrokerurl.cert.pem;
          ssl_certificate_key /etc/ssl/private/myiobrokerurl.key.pem;
      
          ssl on;
          ssl_session_cache  builtin:1000  shared:SSL:10m;
          ssl_protocols  TLSv1 TLSv1.1 TLSv1.2;
          ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
          ssl_prefer_server_ciphers on;
      
          access_log            /var/log/nginx/myiobrokerurl.access.log;
      
          location / {
      
            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;
      
            proxy_pass          http://127.0.0.1:8091;
            proxy_read_timeout  90;
      
            proxy_redirect      http://127.0.0.1:8091 https://myiobrokerurl:8091;
          }
      
          location /api/websocket {
              proxy_pass http://myiobrokerurl:8091/api/websocket;
              proxy_http_version 1.1;
              proxy_set_header Upgrade $http_upgrade;
              proxy_set_header Connection $connection_upgrade;
              proxy_set_header Host $host;
          }
      }
      #vis end
      

      nginx/stream_conf.d/mqtts.conf

      server {
          listen 8883 ssl; # MQTT secure port
      
          ssl_certificate     /etc/ssl/certs/myiobrokerurl.cert.pem;
          ssl_certificate_key /etc/ssl/private/myiobrokerurl.key.pem;
          ssl_ciphers         HIGH:!aNULL:!MD5;
          ssl_session_tickets on;
          ssl_session_timeout 8h;
      
          proxy_pass 127.0.0.1:1883;
          proxy_connect_timeout 1s;
      }
      
      1 1 Reply Last reply
      0
      • D Offline
        D Offline
        dodi666
        wrote on last edited by
        #59

        Vielen Dank @robotastic,
        sofern keiner was laufendes für den Apache im Angebot hat, würde ich mir mal nginx anschauen...
        Kannst du mir vielleicht noch dabei helfen, die CCU auch über diesen Weg einzubinden?

        Grüße
        Sascha

        R 1 Reply Last reply
        0
        • D dodi666

          Vielen Dank @robotastic,
          sofern keiner was laufendes für den Apache im Angebot hat, würde ich mir mal nginx anschauen...
          Kannst du mir vielleicht noch dabei helfen, die CCU auch über diesen Weg einzubinden?

          Grüße
          Sascha

          R Offline
          R Offline
          robotastic
          wrote on last edited by
          #60

          @dodi666 Leider habe ich keine CCU um das zu testen und weiß auch leider nicht, wie das ganze aufgebaut ist. Muss ein location Aufruf sein oder reicht auch eine Port Weiterleitung? Welche Protokolle werden verwendet?

          1 Reply Last reply
          0
          • D Offline
            D Offline
            dodi666
            wrote on last edited by
            #61

            Hi,
            beim Apache habe ich es mittels einfacher Weiterleitung hinbekommen. Leider nur für Port 80 und die Weiterleitung des iobroker habe ich garnicht hinbekommen. Ich versuche mich in den nächsten Tagen erstmal mit der nginx Installation. Zudem würde ich die gerne mit einem htaccess Passwortschutz versehen, und eine SSL Verschlüsselung vorsehen. Dann wäre das Ziel den iobroker über eine URL und die ccu über eine zweite URL von außen zugänglich zu machen. Was deine Fragen zur CCU angeht, kannst du die Antworten ggf. in der Apache Konfiguration in diesem Thread sehen? Bitte nicht falsch verstehen, aber ich lese mich gerade erst in das Thema ein, und bin der totale Anfänger 😬

            1 Reply Last reply
            0
            • M Marc_St

              Re: IoBroker (und vis) über ReverseProxy

              Liebe alle,

              zunächst besten Dank für den Content hier und sorry für das Hochholen eines doch alten Threads.

              Ich habe ein Problem: Die Konfiguration ist ja auf basic-Authentication ausgelegt, und die Authentifizierung in Admin und VIS muss ausgeschaltet werden:

              # Die Berechtigungsprüfung erfolgt durch Apache mittels HTTP-Basic Authentication oder Parameter an der URL.  Dies hat den Vorteil, das unberechtigte Anfragen erst garnicht zu den Systemen gelangen.
              # Da die Verbindung mit SSL/TLS gesichert ist, ist basic-Authentication vollständig ausreichend und am schnellsten. 
              # In den lokalen Systemen ist die Authentifizierung auszuschalten, da die Authentifizierungsdaten nicht durchgereicht werden.
              

              Nun möchte ich aber eben doch anstelle von HTTP-Basic Auth doch lieber mit der Authentifizierung in den Modulen arbeiten. Aus meiner Sicht gibt es dazu zwei gute Gründe: 1) Ich kann am Rechner die Credentials speichern lassen, was bei HTTP-Basic Auth bspw. im iPhone nicht geht, und 2.) die tolle, neue ioBroker app.

              Ich bekomme es aber einfach nicht hin. Wenn ich mich auf domain.de/vis/... einlogge, springt der Dialog zu domain.de/login, was natürlich nicht geht, da domain.de/vis/login richtig wäre ...

              Ich bin da leider mit meinem Latein am ende. Ist das viel zu ändern? Oder geht technisch nicht, was ich vorhabe?

              Danke!

              Marc

              T Offline
              T Offline
              tigiba
              wrote on last edited by
              #62

              @Marc_St
              Ich hätte den selben Wunsch: Verwendung der in IO-Broker eingebauten Authentifizierung samt unterschiedliche Berechtigungen für unterschiedliche User - und das über einen Apache reverse proxy.

              Geht das? Hat das schon jemand geschafft? Ich stehe ziemlich an, und auch ohne Authentifizierung bin ich mit der aus diesem Thread hervorgegangenen Doku auf https://www.iobroker.net/docu/index-303.htm?page_id=5082&lang=de bin leider bisher nicht sehr weit gekommen...

              1 Reply Last reply
              0
              • R robotastic

                Hi @123flip und Hi Forum 🙂 ,

                ich nutze aktuell zwar eigentlich lovelace, habe aber mal eben vis installiert und die config erweitert und getestet. Auf den ersten Blick scheint alles zu funktionieren. Ich habe mal beides drin gelassen, so dass sich jeder nach Bedarf die entsprechenden Teile rauspicken kann. Ports und Servername(myiobrokerurl) können natürlich nach Bedarf angepasst werden. Bei Rückfragen gerne melden.

                Als Bonus hab ich auch noch eine Config für MQTTS angehängt 🙂

                Anzupassen

                • Ports
                • Servername (myiobrokerurl)
                • Pfade für SSL-Zertifikat und Key

                Urls und Ports:

                • Admin https: //myiobrokerurl
                • Lovelace https ://myiobrokerurl:8092
                • Vis https ://myiobrokerurl:8083

                nginx/conf.d/iobroker.conf

                #admin config
                server { # simple reverse-proxy
                    listen 80;
                    listen [::]:80;
                
                    return 301 https://myiobrokerurl$request_uri;
                }
                
                server{
                    listen 443;
                    listen [::]:443;
                
                    server_name myiobrokerurl;
                    ssl_certificate /etc/ssl/certs/myiobrokerurl.cert.pem;
                    ssl_certificate_key /etc/ssl/private/myiobrokerurl.key.pem;
                
                    ssl on;
                    ssl_session_cache  builtin:1000  shared:SSL:10m;
                    ssl_protocols  TLSv1 TLSv1.1 TLSv1.2;
                    ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
                    ssl_prefer_server_ciphers on;
                
                    access_log            /var/log/nginx/myiobrokerurl.access.log;
                
                    location / {
                
                      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;
                
                      proxy_pass          http://127.0.0.1:8081;
                      proxy_read_timeout  90;
                
                      proxy_redirect      http://127.0.0.1:8081 https://myiobrokerurl;
                    }
                }
                #admin end
                
                #lovelace config
                map $http_upgrade $connection_upgrade {
                    default upgrade;
                    '' close;
                }
                
                
                server{
                    listen 8083;
                    listen [::]:8083;
                
                    server_name myiobrokerurl;
                    ssl_certificate /etc/ssl/certs/myiobrokerurl.cert.pem;
                    ssl_certificate_key /etc/ssl/private/myiobrokerurl.key.pem;
                
                    ssl on;
                    ssl_session_cache  builtin:1000  shared:SSL:10m;
                    ssl_protocols  TLSv1 TLSv1.1 TLSv1.2;
                    ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
                    ssl_prefer_server_ciphers on;
                
                    access_log            /var/log/nginx/myiobrokerurl.access.log;
                
                    location / {
                
                      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;
                
                      proxy_pass          http://127.0.0.1:8082;
                      proxy_read_timeout  90;
                
                      proxy_redirect      http://127.0.0.1:8082 https://myiobrokerurl:8082;
                    }
                }
                #lovelace end
                
                #vis conf
                server{
                    listen 8092;
                    listen [::]:8092;
                
                    server_name myiobrokerurl;
                    ssl_certificate /etc/ssl/certs/myiobrokerurl.cert.pem;
                    ssl_certificate_key /etc/ssl/private/myiobrokerurl.key.pem;
                
                    ssl on;
                    ssl_session_cache  builtin:1000  shared:SSL:10m;
                    ssl_protocols  TLSv1 TLSv1.1 TLSv1.2;
                    ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
                    ssl_prefer_server_ciphers on;
                
                    access_log            /var/log/nginx/myiobrokerurl.access.log;
                
                    location / {
                
                      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;
                
                      proxy_pass          http://127.0.0.1:8091;
                      proxy_read_timeout  90;
                
                      proxy_redirect      http://127.0.0.1:8091 https://myiobrokerurl:8091;
                    }
                
                    location /api/websocket {
                        proxy_pass http://myiobrokerurl:8091/api/websocket;
                        proxy_http_version 1.1;
                        proxy_set_header Upgrade $http_upgrade;
                        proxy_set_header Connection $connection_upgrade;
                        proxy_set_header Host $host;
                    }
                }
                #vis end
                

                nginx/stream_conf.d/mqtts.conf

                server {
                    listen 8883 ssl; # MQTT secure port
                
                    ssl_certificate     /etc/ssl/certs/myiobrokerurl.cert.pem;
                    ssl_certificate_key /etc/ssl/private/myiobrokerurl.key.pem;
                    ssl_ciphers         HIGH:!aNULL:!MD5;
                    ssl_session_tickets on;
                    ssl_session_timeout 8h;
                
                    proxy_pass 127.0.0.1:1883;
                    proxy_connect_timeout 1s;
                }
                
                1 Offline
                1 Offline
                123flip
                wrote on last edited by
                #63

                @robotastic
                Nach langer Zeit wollte ich heute mal wieder schauen, ob sich hier was getan hat und ich danke dir für deine Beispielkonfiguration.
                Wundersamerweise funktioniert nun meine alte Konfiguration, ich nehme an, dass es irgendwelche Updates bei iobroker gab, die das verbessert hat.

                Mein Problem waren immer die Websocket-Verbindungen über die Pfade ".../socket.io/". Leider finde ich dazu in deiner Konfiguration nichts.

                Anbei noch meine aktuelle Konfiguration:

                server {
                    listen 443 ssl;
                    server_name myhost.de;
                    server_tokens off;
                
                    ssl_certificate ./fullchain.pem;
                    ssl_certificate_key ./privkey.pem;
                    include /etc/letsencrypt/options-ssl-nginx.conf;
                    ssl_dhparam ./ssl-dhparams.pem;
                
                    location / {
                        proxy_pass  http://ioBroker:8082;
                        proxy_set_header    Host                $http_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;
                        satisfy any;
                        auth_basic            "Access Restricted";
                        auth_basic_user_file  .htpasswd;
                        proxy_set_header Upgrade $http_upgrade;
                        proxy_set_header Connection "Upgrade";
                        proxy_http_version 1.1;
                    }
                    
                    #location /socket.io {
                    #try_files $uri $uri/ @websocket;
                    #}
                
                    #location @websocket {
                    #    proxy_pass http://ioBroker:8082/socket.io/;
                    #    proxy_http_version 1.1;
                    #    proxy_set_header Upgrade $http_upgrade;
                    #    proxy_set_header Connection "upgrade";
                    #}
                    location /socket.io/socket.io.js {
                        #proxy_set_header Upgrade $http_upgrade;
                        #proxy_set_header Connection "Upgrade";
                        #proxy_http_version 1.1;
                        #proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                        #proxy_set_header Host $host;
                        proxy_pass http://ioBroker:8082/socket.io/socket.io.js;
                    }
                        
                    location /socket.io {
                        proxy_set_header Upgrade $http_upgrade;
                        proxy_set_header Connection "Upgrade";
                        proxy_http_version 1.1;
                        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                        proxy_set_header Host $host;
                        proxy_pass http://ioBroker:8082/socket.io;
                    }
                }
                
                1 Reply Last reply
                0
                • spicerS Online
                  spicerS Online
                  spicer
                  wrote on last edited by spicer
                  #64

                  Hallo
                  Ich nehme mal den alten Thread aus der Versenkung.
                  Ich habe den apache2 reverse Proxy nach dieser Anleitung installiert:
                  ~~https://www.iobroker.net/docu/index-303.htm?page_id=5082&lang=de~~
                  Das ist doch das, worüber hier diskutiert wird, oder?
                  Wenn ich mich auf domain.de/vis/... einlogge, springt der Dialog zu domain.de/login/index.html?href=%2Flogin, was natürlich nicht geht, da domain.de/vis/login richtig wäre ...
                  Kann mir da jemand behilflich sein oder gar eine aktuellere Anleitung empfehlen?

                  Ach ja, ich benutze die Ports 81 und 444, da 80 und 443 von deCONZ besetzt sind.

                  Edit:
                  Problem gelöst. Habe nun auch nginx installiert.

                  Wenn es mehrere Möglichkeiten gibt, eine Aufgabe zu erledigen, und eine davon in einer Katastrophe endet oder sonstwie unerwünschte Konsequenzen nach sich zieht, dann wird es jemand genau so machen. Alles, was schiefgehen kann, wird auch schiefgehen.
                  (Murphys Gesetz)

                  M 1 Reply Last reply
                  0
                  • spicerS spicer

                    Hallo
                    Ich nehme mal den alten Thread aus der Versenkung.
                    Ich habe den apache2 reverse Proxy nach dieser Anleitung installiert:
                    ~~https://www.iobroker.net/docu/index-303.htm?page_id=5082&lang=de~~
                    Das ist doch das, worüber hier diskutiert wird, oder?
                    Wenn ich mich auf domain.de/vis/... einlogge, springt der Dialog zu domain.de/login/index.html?href=%2Flogin, was natürlich nicht geht, da domain.de/vis/login richtig wäre ...
                    Kann mir da jemand behilflich sein oder gar eine aktuellere Anleitung empfehlen?

                    Ach ja, ich benutze die Ports 81 und 444, da 80 und 443 von deCONZ besetzt sind.

                    Edit:
                    Problem gelöst. Habe nun auch nginx installiert.

                    M Offline
                    M Offline
                    Milraun
                    wrote on last edited by
                    #65

                    Kann bitte noch einmal jemand eine aktuell nginx Konfiguration posten.

                    Meine Vis hinter dem ReverseProxy behauptet immer sie hätte keine Connection.

                    Ich bin schon etwas verzweifelt.

                    Milraun

                    spicerS 1 Reply Last reply
                    0
                    • M Milraun

                      Kann bitte noch einmal jemand eine aktuell nginx Konfiguration posten.

                      Meine Vis hinter dem ReverseProxy behauptet immer sie hätte keine Connection.

                      Ich bin schon etwas verzweifelt.

                      Milraun

                      spicerS Online
                      spicerS Online
                      spicer
                      wrote on last edited by spicer
                      #66

                      @milraun

                      Hier meine config (in /etc/nginx/sites-available ). Wobei mein ioBroker Server die interne IP 192.168.1.251 hat. Die musst Du auch anpassen.
                      An 2 Stellen muss Du Deine Dyn-DNS eintragen, wenn Du von extern zugreifen willst (wegen dem SSL Zertifikat).
                      Den Pfad zu den SSL Keys und htpasswd nicht vergessen anzupassen. Let's encrypt brauch ich Dir ja nicht zu erklären 🙂
                      Meine Config hat zusätzlich eine htaccess (zusätzliche Passwortabfrage) drin und lässt mich von auswärts nur in das vis Verzeichnis.
                      Ich habe die Ports 81 und 444 verwendet, weil 80 und 443 von deCONZ benutzt wird.

                      map $http_upgrade $connection_upgrade {
                        default upgrade;
                        ''      close;
                      }
                      
                      auth_basic "Nur fuer mich";
                      auth_basic_user_file /etc/nginx/.htpasswd;      # Pfad anpassen
                      allow yy.yy.0.0/16;                             # IP Range yy.yy.  zulassen
                      allow xx.xx.xx.xx;                              # Einzelne zugelassene IP
                      deny all;
                      
                      server {
                        listen 81;
                        server_name meine_dyndns.net;                 # hier deine DYN-DNS
                        return 301 https://$host$request_uri;
                      }
                      
                      # SSL configuration
                      server {
                        listen 444 ssl;
                        server_name meine_dyndns.net;                 # hier deine DYN-DNS
                      #  return 301 https://$server_name$request_uri;
                        ssl_certificate      /etc/sslzertifikat/fullchain.pem;   # Pfad anpassen
                        ssl_certificate_key  /etc/sslzertifikat/privkey.pem;     # Pfad anpassen
                      
                        # Improve HTTPS performance with session resumption
                        ssl_session_cache shared:SSL:10m;
                        ssl_session_timeout 5m;
                      
                        # Enable server-side protection against BEAST attacks
                        ssl_prefer_server_ciphers on;
                        ssl_ciphers ECDH+AESGCM:ECDH+AES256:ECDH+AES128:DH+3DES:!ADH:!AECDH:!MD5;
                      
                        # Disable SSLv3
                        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
                      
                        # Diffie-Hellman parameter for DHE ciphersuites
                        ssl_dhparam /etc/sslzertifikat/dhparams.pem;             # Pfad anpassen
                      
                        # Enable HSTS (https://developer.mozilla.org/en-US/docs/Security/HTTP_Strict_Transport_Security)
                        add_header Strict-Transport-Security "max-age=63072000; includeSubdomains";
                      
                      #  rewrite_by_lua_file /etc/nginx/lua/htaccess.lbc;
                      
                        # Enable OCSP stapling (http://blog.mozilla.org/security/2013/07/29/ocsp-stapling-in-firefox)
                        ssl_stapling off;
                        ssl_stapling_verify off;
                        ssl_trusted_certificate /etc/sslzertifikat/fullchain.pem;    # Pfad anpassen
                        resolver 8.8.8.8 8.8.4.4 valid=300s;
                        resolver_timeout 5s;
                      
                        location /vis {
                          proxy_pass http://192.168.1.251:8082/vis;
                          proxy_set_header Host $host;
                          proxy_redirect http:// https://;
                          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;
                        }
                      
                        location /login {
                          proxy_pass http://192.168.1.251:8082/login;
                          proxy_set_header Host $host;
                          proxy_redirect http:// https://;
                          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;
                        }
                      
                        location /lib {
                          proxy_pass http://192.168.1.251:8082/lib;
                          proxy_set_header Host $host;
                          proxy_redirect http:// https://;
                          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;
                        }
                      
                        location /socket.io {
                          proxy_pass http://192.168.1.251:8082/socket.io;
                          proxy_set_header Host $host;
                          proxy_redirect http:// https://;
                          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;
                        }
                      
                      }
                      

                      Hier noch die Links, welche ich benutzt habe:

                      nginx reverse proxy anleitung:

                      https://bloggerbu.de/reverseproxy/

                      htaccess in nginx anleitung:

                      https://www.cyberciti.biz/faq/nginx-password-protect-directory-with-nginx-htpasswd-authentication/

                      IP range anleitung:

                      https://ubiq.co/tech-blog/how-to-whitelist-ip-in-nginx/

                      Ich hoffe, das hilft Dir etwas weiter 😉

                      Wenn es mehrere Möglichkeiten gibt, eine Aufgabe zu erledigen, und eine davon in einer Katastrophe endet oder sonstwie unerwünschte Konsequenzen nach sich zieht, dann wird es jemand genau so machen. Alles, was schiefgehen kann, wird auch schiefgehen.
                      (Murphys Gesetz)

                      1 Reply Last reply
                      0
                      • OliverIOO Offline
                        OliverIOO Offline
                        OliverIO
                        wrote on last edited by
                        #67

                        Auch über ein Reverse-Proxy ist der iobroker offen im Internet nicht sicher.
                        Wenn ihr unbedingt meint, dann den Rechner so absichern, das man von da nicht auch noch ins restliche Netz kommt (demilitarisierte Zone mit gut konfiguriertem Firewall zum restlichen Netz.
                        Idealerweise dort dann auch keine Standardports nutzen, die jeder schon kennt und weitere Angriffsvektoren bieten.

                        Meine Adapter und Widgets
                        TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                        Links im Profil

                        M 1 Reply Last reply
                        1
                        • OliverIOO OliverIO

                          Auch über ein Reverse-Proxy ist der iobroker offen im Internet nicht sicher.
                          Wenn ihr unbedingt meint, dann den Rechner so absichern, das man von da nicht auch noch ins restliche Netz kommt (demilitarisierte Zone mit gut konfiguriertem Firewall zum restlichen Netz.
                          Idealerweise dort dann auch keine Standardports nutzen, die jeder schon kennt und weitere Angriffsvektoren bieten.

                          M Offline
                          M Offline
                          Milraun
                          wrote on last edited by
                          #68

                          @oliverio Mir geht es eher darum alle Dienste unter einem Port zu erreichen, um keine Probleme mit cross origin policies zu bekommen. Z.B. bei der Nutzung von Grafana-Charts in vis.

                          Oder gibt es da eine einfachere Lösung?

                          OliverIOO 1 Reply Last reply
                          0
                          • M Milraun

                            @oliverio Mir geht es eher darum alle Dienste unter einem Port zu erreichen, um keine Probleme mit cross origin policies zu bekommen. Z.B. bei der Nutzung von Grafana-Charts in vis.

                            Oder gibt es da eine einfachere Lösung?

                            OliverIOO Offline
                            OliverIOO Offline
                            OliverIO
                            wrote on last edited by OliverIO
                            #69

                            @milraun
                            Nein zu Hause für das lokale netz ist das vollkommen in Ordnung.
                            Ich hab da oben nur was von dyndns gelesen

                            Manche denken reverse proxy oder gar die ssl Verschlüsselung schützen das heimische Netz.

                            Reverse Proxy reduziert zwar den Angriffsvektor, macht halt nicht komplett sicher
                            Und wenn man sich dann mit der config nicht gut auskennt dann ist es halt doch nur eine scheinbare Sicherheit

                            Meine Adapter und Widgets
                            TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                            Links im Profil

                            M 1 Reply Last reply
                            0
                            • OliverIOO OliverIO

                              @milraun
                              Nein zu Hause für das lokale netz ist das vollkommen in Ordnung.
                              Ich hab da oben nur was von dyndns gelesen

                              Manche denken reverse proxy oder gar die ssl Verschlüsselung schützen das heimische Netz.

                              Reverse Proxy reduziert zwar den Angriffsvektor, macht halt nicht komplett sicher
                              Und wenn man sich dann mit der config nicht gut auskennt dann ist es halt doch nur eine scheinbare Sicherheit

                              M Offline
                              M Offline
                              Milraun
                              wrote on last edited by
                              #70

                              Muss ich in den admin-Einstellungen unter Reverse-proxy etwas eintragen?

                              spicerS 1 Reply Last reply
                              0
                              • M Milraun

                                Muss ich in den admin-Einstellungen unter Reverse-proxy etwas eintragen?

                                spicerS Online
                                spicerS Online
                                spicer
                                wrote on last edited by
                                #71

                                @milraun
                                Ich hab da nichts drin.

                                Wenn es mehrere Möglichkeiten gibt, eine Aufgabe zu erledigen, und eine davon in einer Katastrophe endet oder sonstwie unerwünschte Konsequenzen nach sich zieht, dann wird es jemand genau so machen. Alles, was schiefgehen kann, wird auch schiefgehen.
                                (Murphys Gesetz)

                                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

                                529

                                Online

                                32.4k

                                Users

                                81.4k

                                Topics

                                1.3m

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

                                • Don't have an account? Register

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