Trick Nr 3: HTTPS mit OSPI und Raspberry Pi

Startseite Foren Allgemein Trick Nr 3: HTTPS mit OSPI und Raspberry Pi

Ansicht von 4 Beiträgen – 1 bis 4 (von insgesamt 4)
  • Autor
    Beiträge
  • #23346
    AdminAdmin
    Administrator

    Um HTTPS verschlüsselt auf den OSPi zugreifen zu können, benötigt man einen HTTPS Proxy, der die Verbindung verschlüsselt.

    Eine Möglichkeit ist dies mit Nginx zu machen.

    1. Nginx installieren:

    sudo apt-get update
    sudo apt-get install nginx

    2. SSL Zertifikat erstellen:

    cd /etc/nginx
    sudo openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout /etc/nginx/cert.key -out /etc/nginx/cert.crt

    3. Konfiguration bearbeiten:

    sudo nano /etc/nginx/sites-enabled/default

    Löschen Sie alle Zeilen und verwenden Sie diese Konfiguration. Eventuell müssen sie die beiden stellen mit “RASPI” mit dem Namen ihres Raspberry Pi anpassen.

    server {
    listen 80;
    return 301 https://$host$request_uri;
    }

    server {

    listen 443;
    server_name raspi;

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

    # Fix the “It appears that your reverse proxy set up is broken” error.
    proxy_pass http://localhost:8080;
    proxy_read_timeout 90;

    proxy_redirect http://localhost:8080 https://raspi;
    }
    }

    4. Nginx aktivieren und neu starten:

    sudo systemctl enable nginx

    sudo service nginx restart

    5. Fertig.

    Sie können nun per Browser zugreifen. Er leitet http auf https anfragen um oder Sie greifen direkt per http darauf zu

    Das Original der Anleitung stammt von hier und wurde angepasst:

    https://www.digitalocean.com/community/tutorials/how-to-configure-nginx-with-ssl-as-a-reverse-proxy-for-jenkins

    Vergessen Sie nicht, die Portfreigabe ihres Routers auf den Raspi-Port 443 zu ändern (also z.b. vorher 3000 nach raspi/80 ändern in 3000 nach raspi/443). In der OpenSprinkler-App verbinden Sie sich dann mit der Option “SSL”

    #23347
    AdminAdmin
    Administrator

    Mit dem OpenSprinkler 3 geht das leider nicht, da für das System kein SSL Client verfügbar ist. Allerdings können Sie einen (Zusätzlichen) Linux- oder Raspberry PI verwenden, um auf den OpenSprinkler 3 die Verschlüsselung umzuleiten. Ersetzen Sie einfach in den beiden “http://localhost:8080” – Angaben das “localhost” durch die Ip-adresse des OpenSprinklers und “8080” mit “80”.

     

    #23933
    nachtigallnachtigall
    Teilnehmer

    Toller Tipp, danach habe ich sowieso gesucht. Danke. Ich wollte noch DynDNS und letsencrypt zusätzlich, aber ob und wie das geht, werde ich schon rausbekommen. Letztlich hat das ja mehr mit Raspberry als mit OpenSprinkler zu tun…

    #24088
    AdminAdmin
    Administrator

    Ja, das mit dem SSL Zertifikat ist so eine Sache. Ohne ein gültiges Zertifikat geht auch die Applikation nicht, es geht nur im Webbrowser und dann auch nur, wenn man die Zertifikatswarnung bestätigt.

    Es gibt allerdings noch die Möglichkeit, das Zertifikat zu exportieren und auf dem Smartphone zu installieren. Der Domänenname muss dem Zertifikat Common Name übereinstimmen.

    Also wenn man z. B. seine dyndns Domäne sprinkler.dyndns.bla genannt hat, dann muss der Common Name genau so heißen. Und genau so muss man diese dann auch in der app verwenden.

     

Ansicht von 4 Beiträgen – 1 bis 4 (von insgesamt 4)
  • Du musst angemeldet sein, um auf dieses Thema antworten zu können.