Autor Thema: nginx reverse proxy aktualisiert nicht beim Schalten  (Gelesen 227 mal)

Offline MiK77

  • Jr. Member
  • **
  • Beiträge: 52
nginx reverse proxy aktualisiert nicht beim Schalten
« am: 21 November 2020, 23:55:33 »
Hallo,

ich habe mich nun endlich aufgerafft und einen reverse proxy mittels nginx vor fhem geschaltet.
Dafür habe ich die nginx-Konfiguration aus dem Wiki https://wiki.fhem.de/wiki/HTTPS-Absicherung_&_Authentifizierung_via_nginx_Webserver verwendet.

Dies funktioniert mittlerweile grundsätzlich auch, nur erhalte ich nun keine Statusänderungen mehr. Wenn ich z.B. auf einen Schalter klicke, schaltet sich das entsprechende Gerät zwar ein, aber das Lampensymbol auf der Webseite zeigt immer noch "aus" an.

Greife ich direkt auf diese fhemWeb-Instanz zu, funktioniert es einwandfrei. Ich vermute deswegen einen Fehler in der Konfiguration von nginx.

Ist dies ein bekanntes Problem bei der Konfiguration aus dem Wiki oder habe ich da einen Fehler eingebaut?

server {
    listen 8080 ssl;
    server_name fhempi;

    # check user agent
    if ($http_user_agent ~* '(iPhone|iPod|Opera Mini|Android.*Mobile|NetFront|PSP|BlackBerry|Windows Phone)') {
    set $ua_type "@mobile";
    }

    ssl_certificate           /etc/nginx/cert.crt;
    ssl_certificate_key       /etc/nginx/cert.key;

    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/fhem.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_http_version      1.1;

      # Gehe zu FHEMWEB wenn kein mobiler Browser
      if ($ua_type != "@mobile"){
          proxy_pass          https://127.0.0.1:8088;
      }
      # Gehe zu FHEMWEB smallscreen wenn mobiler Browser
      if ($ua_type = "@mobile"){
          proxy_pass          https://127.0.0.1:8088;
      }
      proxy_read_timeout  90;
      #proxy_read_timeout  20736000;
      #proxy_buffering     off;

      # User Sickboy's Erweiterung für verschlüsselte Websocket-Kommunikation (siehe Diskussionsseite)
      # Für normale Benutzer derzeit kommentiert, vom Autor Andremotz noch bisher ungetestet
      #  ... daher derzeit auskommentiert
      # Wird für 'longpoll' benötigt (z.B. bei FTUI)
      #set $my_http_upgrade "";
      #set $my_connection "Connection";

      #if ($http_upgrade = "websocket") {
      #  set $my_http_upgrade $http_upgrade;
      #  set $my_connection "upgrade";
      #}
     
      #proxy_set_header Upgrade $my_http_upgrade;
      #proxy_set_header Connection $my_connection;

      auth_basic "Login required";
      auth_basic_user_file /etc/nginx/.htpasswd;

      # proxy_redirect      http://localhost:8083 https://localhost;
    }
  }

Ciao

MiK

Offline micky0867

  • Full Member
  • ***
  • Beiträge: 309
  • Welcome to the Unixverse!
Antw:nginx reverse proxy aktualisiert nicht beim Schalten
« Antwort #1 am: 22 November 2020, 10:06:56 »
Hi,

bei mir funktioniert das....aber der entscheidende Unterschied...keine Ahnung.

Meine Konfig:

        location /fhem {
                proxy_pass http://rp2.fritz.box:8083/fhem;
                proxy_http_version 1.1;
                proxy_set_header Upgrade $http_upgrade;
                proxy_buffering off;
                proxy_ignore_client_abort off;
                break;
        }

Offline MiK77

  • Jr. Member
  • **
  • Beiträge: 52
Antw:nginx reverse proxy aktualisiert nicht beim Schalten
« Antwort #2 am: 22 November 2020, 11:07:34 »
Vielen Dank! Ich habe folgendes von Dir übernommen:

                proxy_set_header Upgrade $http_upgrade;
                proxy_buffering off;
                proxy_ignore_client_abort off;

Damit geht es. Weitere Tests haben ergeben, dass es an dieser einen Zeile liegt:

                proxy_buffering off;
Keine Ahnung, warum das im Wiki auskommentiert ist.

Offline Wernieman

  • Developer
  • Hero Member
  • ****
  • Beiträge: 6768
Antw:nginx reverse proxy aktualisiert nicht beim Schalten
« Antwort #3 am: 25 November 2020, 18:56:27 »
Warum hast Du die ganzen "if" drin, wenn Du bei allen den gleichen Parameter verwendest?

Ich würde Dir empfehlen, die config zu "clearen"
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

 

decade-submarginal