Trick #3: HTTPS med OSPI och Raspberry Pi

Hemsida forum I allmänhet Trick #3: HTTPS med OSPI och Raspberry Pi

Observera: Inlägg i forumet är endast möjliga för inloggade kunder med minst ett köp. Vänligen logga in med det kundkonto som du har beställt via.

Visar 4 inlägg - 1 till 4 (från 4 totalt)
  • Författare
    Inlagg
  • #23346
    Admin
    Keymaster

    För att komma åt OSPi med HTTPS-krypterad data behöver du en HTTPS-proxy som krypterar anslutningen.

    Ett sätt att göra detta är med Nginx.

    1. Installera Nginx:

    sudo apt-get uppdatering
    sudo apt-get installera nginx

    2. Skapa SSL-certifikat:

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

    3. Redigera konfiguration:

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

    Ta bort alla rader och använd denna konfiguration. Du kan behöva anpassa de två positionerna med "RASPI" med namnet på din Raspberry Pi.

    server {
    lyssna 80;
    retur 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
    Admin
    Keymaster

    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
    nachtigall
    Deltagare

    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
    Admin
    Keymaster

    Ja, det där med SSL-certifikat är en sådan sak. Utan ett giltigt certifikat fungerar inte heller applikationen, det fungerar bara i webbläsaren och då endast om man bekräftar certifikatvarningen.

    Det finns dock fortfarande möjligheten att exportera certifikatet och installera det på smartphonen. Domännamnet måste matcha certifikatets Common Name.

    Så om man t.ex. har döpt sin dyndns-domän till sprinkler.dyndns.bla, då måste Common Name heta exakt likadant. Och exakt så måste man sedan också använda den i appen.

     

Visar 4 inlägg - 1 till 4 (från 4 totalt)
  • Du måste vara inloggad för att svara på detta ämne.