Reverse Proxy auf einem Raspi

Begonnen von moonsorrox, 23 Mai 2018, 12:42:22

Vorheriges Thema - Nächstes Thema

moonsorrox

Zitat von: Wernieman am 25 Mai 2018, 08:05:46
Schau Dir mal folgendes an ... hast Du es angepasst?
sorry wenn ich mich da grad etwas blöd  :-\ anstelle, aber mir ist da einiges noch nicht so klar. :o

wenn ich das richtig verstanden habe sollte ich mich doch ohne /fhem in der url einloggen können, dass habe ich jetzt mal getestet...
ich gebe https://fhem.xxxxxxx-hausautomation.de und es kommt die Abfrage nach User und Passwort, dass gebe ich ein und es kommt eine Fehlerseite "502 Bad Gateway"
Das ist denke ich OK, da ich ja nur einen User/Passwort für fhem habe

ich habe diesen Bereich so drin...! hier der Teil aus der config
   # Normalerweise alles nur nach Login
    location / {
        auth_basic              "Restricted Content";
        auth_basic_user_file    /etc/nginx/.htpasswd;

        proxy_set_header        Host $host;
        proxy_set_header        X-Forwarded-Host $host;
        proxy_set_header        X-Forwarded-Server $host;
        proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass                 https://fhem.xxxxxx-hausautomation.de:443;
        client_max_body_size    128M;
    }


    # Normalerweise alles nur nach Login / Fhem direkt
    location /fhem {
        auth_basic              "Restricted Content";
        auth_basic_user_file    /etc/nginx/.htpasswd;

        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;

        # 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;

        proxy_pass              http://10.0.0.50:8083;
        proxy_read_timeout      90;
        proxy_buffering         off;
        client_max_body_size    128M;
    }


au man ich habe soviel verschiedene Anleitungen aus dem Internet angeschaut und jeder macht es anders...  :-\
Aber wir beide müssen das jetzt hier mal zu Ende kauen damit ich das endlich mal hinbekomme speziell dann für mehrere "location /", ich Danke vielmals vorab  ;)
Intel-NUC i5: FHEM-Server 6.1 :: Perl v5.18.2

Homematic: HM-USB-CFG2,HM-CFG-LAN Adapter, HM-LC-BL1-FM, HM-LC-Sw1PBU-FM, HM-LC-Sw1-PI-2, HM-WDS10-TH-O, HM-CC-TC, HM-LC-SW2-FM

Wernieman

1. Diese User/Passworte sind NICHT die FHEM User/Passworte!
        auth_basic              "Restricted Content";
        auth_basic_user_file    /etc/nginx/.htpasswd;

Wenn Du für FHEM Dich auf Fhem User/Passwort verlassen willst, müsstest Du dieses bei "Location FHEM" rausnhemne.

Meine Empfehlung: Lasse es Drin! Es sei denn, der Proxy ist extern nicht erreichbar (was ich aber bei Dir anders verstanden habe).

Bin nur dieses Wochenende "ausgelastet", da were ich Dir schlecht helfen können. Wie sieht es nächste Woche bei Dir aus?
- 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

moonsorrox

#17
Zitat von: Wernieman am 25 Mai 2018, 17:16:15
1. Diese User/Passworte sind NICHT die FHEM User/Passworte!
        auth_basic              "Restricted Content";
        auth_basic_user_file    /etc/nginx/.htpasswd;

Achso, na dann kann es nicht gehen...!  ;)
Das ist dann wohl der Zugriff auf den Raspi für root, oder.?

Zitat von: Wernieman am 25 Mai 2018, 17:16:15
Wenn Du für FHEM Dich auf Fhem User/Passwort verlassen willst, müsstest Du dieses bei "Location FHEM" rausnhemne.

Meine Empfehlung: Lasse es Drin! Es sei denn, der Proxy ist extern nicht erreichbar (was ich aber bei Dir anders verstanden habe).
Ja, klar lasse ich die drin..!
Der Zugriff auf fhem mit Passwort und User klappt ja bestens
Soll denn nur eben später noch weiter gehen mit z.B. unter fhem Webhook, damit ich da mit Geofency eine Meldung bekomme bei Abwesenheit...!

Zitat von: Wernieman am 25 Mai 2018, 17:16:15
Bin nur dieses Wochenende "ausgelastet", da were ich Dir schlecht helfen können. Wie sieht es nächste Woche bei Dir aus?
kein Problem, lass dir Zeit das machen wir ganz in Ruhe... Schreib gerne immer wann es geht und ich mache das auch so.
Nächste Woche, sehr gern..  :)

Intel-NUC i5: FHEM-Server 6.1 :: Perl v5.18.2

Homematic: HM-USB-CFG2,HM-CFG-LAN Adapter, HM-LC-BL1-FM, HM-LC-Sw1PBU-FM, HM-LC-Sw1-PI-2, HM-WDS10-TH-O, HM-CC-TC, HM-LC-SW2-FM

Wernieman

am liebsten tagsüber .. abends und am Wochenende ist bei mir immer sehr schlecht ...
- 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

CoolTux

Wenn Du beim Reverse Proxy das basic auth gleich setzt wie beim fhem server musst dich nur einmal anmelden, nämlich beim reverse proxy. der rest wird dann durchgeleitet.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

moonsorrox

das sieht dann wie aus  ;)
ich möchte mir da nix kaputt machen wenn ich mit meinem Unwissen herum fummel  ;)
Intel-NUC i5: FHEM-Server 6.1 :: Perl v5.18.2

Homematic: HM-USB-CFG2,HM-CFG-LAN Adapter, HM-LC-BL1-FM, HM-LC-Sw1PBU-FM, HM-LC-Sw1-PI-2, HM-WDS10-TH-O, HM-CC-TC, HM-LC-SW2-FM

CoolTux

Einfach so lassen was Basic auth an geht. Nur den selben Usernamen und Passwort wählen

Im übrigen ist dein proxy_pass Unsinn es sei denn fhem läuft direkt auf dem fhem Server wirklich auf 443
Ansonsten 8083
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

moonsorrox

Zitat von: CoolTux am 25 Mai 2018, 20:12:16
Im übrigen ist dein proxy_pass Unsinn es sei denn fhem läuft direkt auf dem fhem Server wirklich auf 443
Ansonsten 8083
Oh je ich bin immer mehr verwirrt  :-\
Nein der fhem Server läuft auf einem Intel-NUC und natürlich auf 8083 und der Reverse-Proxy auf einem RasPi mit anderer IP.

Die DNS Adresse ist bei meinem Internet Provider und in der Fritzbox eingetragen und dort auf 443.
Intel-NUC i5: FHEM-Server 6.1 :: Perl v5.18.2

Homematic: HM-USB-CFG2,HM-CFG-LAN Adapter, HM-LC-BL1-FM, HM-LC-Sw1PBU-FM, HM-LC-Sw1-PI-2, HM-WDS10-TH-O, HM-CC-TC, HM-LC-SW2-FM

CoolTux

Vorschlag. Das Du erstmal ein kleines Erfolgserlebnis hast



server {

        listen 443 http2;
        listen [::]:443 http2;
        server_name fhem.xxxxxx-hausautomation.de;

        # Add headers to serve security related headers
        # Before enabling Strict-Transport-Security headers please read into this
        # topic first.
        add_header Strict-Transport-Security "max-age=15768000";
        add_header X-Frame-Options SAMEORIGIN;
        add_header X-Content-Type-Options nosniff;
        add_header X-XSS-Protection "1; mode=block";
        add_header X-Robots-Tag none;
        add_header X-Download-Options noopen;
        add_header X-Permitted-Cross-Domain-Policies none;


        ssl_certificate           /etc/nginx/certs/fhemCert.pm;
        ssl_certificate_key       /etc/nginx/certs/fhemKey.pm;

        ssl on;
        ssl_session_cache  builtin:1000  shared:SSL:10m;
        ssl_session_timeout 10m;
        ssl_session_cache shared:SSL:10m;
        ssl_session_tickets off;
        ssl_ecdh_curve secp384r1;
        ssl_stapling on;
        ssl_stapling_verify on;
        ssl_protocols TLSv1.2;
        ssl_ciphers ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384;
        ssl_prefer_server_ciphers on;



        access_log            /var/log/nginx/fhem-reverseproxy/access.log;
        error_log             /var/log/nginx/fhem-reverseproxy/error.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;


                proxy_pass          http://10.0.0.50:8083;
                #proxy_read_timeout  90;
                proxy_read_timeout  86400;
                proxy_buffering     off;

                auth_basic "Restricted Content";
                auth_basic_user_file /etc/nginx/.htpasswd;
        }
}


Die Datei heißt bei mir fhem-reverseproxy und liegt einfach unter /etc/nginx/sites-available mit link nach sites-enable
Bitte die SSL Zertifikate anpassen
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

moonsorrox

Zitat von: CoolTux am 25 Mai 2018, 22:50:10
Vorschlag. Das Du erstmal ein kleines Erfolgserlebnis hast
     
Die Datei heißt bei mir fhem-reverseproxy und liegt einfach unter /etc/nginx/sites-available mit link nach sites-enable
Bitte die SSL Zertifikate anpassen

Ok Danke und in der Tat habe ich das Erfolgserlebnis  ;) :) ;)

angepaßt - ssl_certificate
angepaßt - ssl_certificate_key

und die

access_log
error_log

Jetzt komme ich mit der direkten Adresse ohne fhem auch drauf  ;)

Da ich ja schon einige Zeit mit meinem Webhook -> Geofancy herum probiere, kann ich das ebenfalls hierüber machen weil in fhem bin ich ja schon.?

Kurze Info dazu ich hatte vor längere Zeit ganz normal über ein DNS Dienst die Anwesenheitserkennung und da hat das alles funktioniert.
Seit ich das hier über https://fhem.xxxxxx-hausautomation.de machen funktioniert das nicht mehr.
Intel-NUC i5: FHEM-Server 6.1 :: Perl v5.18.2

Homematic: HM-USB-CFG2,HM-CFG-LAN Adapter, HM-LC-BL1-FM, HM-LC-Sw1PBU-FM, HM-LC-Sw1-PI-2, HM-WDS10-TH-O, HM-CC-TC, HM-LC-SW2-FM

CoolTux

Zitat von: moonsorrox am 26 Mai 2018, 00:55:07
Ok Danke und in der Tat habe ich das Erfolgserlebnis  ;) :) ;)

angepaßt - ssl_certificate
angepaßt - ssl_certificate_key

und die

access_log
error_log

Jetzt komme ich mit der direkten Adresse ohne fhem auch drauf  ;)

Da ich ja schon einige Zeit mit meinem Webhook -> Geofancy herum probiere, kann ich das ebenfalls hierüber machen weil in fhem bin ich ja schon.?

Kurze Info dazu ich hatte vor längere Zeit ganz normal über ein DNS Dienst die Anwesenheitserkennung und da hat das alles funktioniert.
Seit ich das hier über https://fhem.xxxxxx-hausautomation.de machen funktioniert das nicht mehr.

für webhook nehme ich eine andere url. Somit wäre dann wieder eine andere Konfigdatei.

Was spricht gegen
https://fhemwebhook.xxxxxx-hausautomation.de
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

moonsorrox

Das wäre so auch OK, aber ich dachte da ich ja schon bei fhem drin bin kann ich das gleich drunter schreiben so in der Art..
       location /geo {

                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;


                proxy_pass          http://10.0.0.50:8087;
                #proxy_read_timeout  90;
                proxy_read_timeout  86400;
                proxy_buffering     off;

                auth_basic "Restricted Content";
                auth_basic_user_file /etc/nginx/.htpasswd;
         }
Intel-NUC i5: FHEM-Server 6.1 :: Perl v5.18.2

Homematic: HM-USB-CFG2,HM-CFG-LAN Adapter, HM-LC-BL1-FM, HM-LC-Sw1PBU-FM, HM-LC-Sw1-PI-2, HM-WDS10-TH-O, HM-CC-TC, HM-LC-SW2-FM

CoolTux

Sollte auch gehen meines Wissens. Probier es mal aus.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

moonsorrox

Kann ich das auch so schreiben oder nimmt der das dann nicht
location /webhook/geo

Diese Eintragung war eben früher in Geofency http://meindns/webhook/geo
Da wurde mir dann (ich weiß nicht mehr wo, steht glaube ich auch im Wiki) empfohlen ich solle auf ein Reverse-Proxy wechseln damit kann man das ganz easy machen, dann habe ich auf https://xxxxxx gewechselt...
Damit nahm der Irrsinn (Reverse-Proxy) seinen Lauf  ;) :D ;)

Das ist mein Problem das geht in der App auf dem Handy nicht..! und da hat er auf dem Handy immer gemeckert, da sagt er immer fehlgeschlagen...

OK das können wir auch an einem anderen Tag machen... Vielen Dank erst einmal  :)
Intel-NUC i5: FHEM-Server 6.1 :: Perl v5.18.2

Homematic: HM-USB-CFG2,HM-CFG-LAN Adapter, HM-LC-BL1-FM, HM-LC-Sw1PBU-FM, HM-LC-Sw1-PI-2, HM-WDS10-TH-O, HM-CC-TC, HM-LC-SW2-FM