Truc #3: HTTPS met OSPI en Raspberry Pi

Startpagina Forums Algemeen Truc #3: HTTPS met OSPI en Raspberry Pi

4 reportages op het strand - 1 tot 4 (busje in totaal 4)
  • Auteur
    Rapport
  • #23346
    Admin
    Sleutelbeheerder

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

    Helaas is dit niet mogelijk met OpenSprinkler 3 omdat er geen SSL-client beschikbaar is voor het systeem. Je kunt echter een (extra) Linux of Raspberry PI gebruiken om de encryptie om te leiden naar de OpenSprinkler 3. Vervang gewoon de twee “http://localhost:8080” – Voer de “localhost” in met het IP-adres van de OpenSprinkler en “8080” met “80”.

     

    #23933
    nachtigall
    Deelnemer

    Goeie tip, daar was ik in ieder geval naar op zoek. Bedankt. Ik wilde ook DynDNS en letencrypt, maar ik zal uitzoeken of en hoe dat werkt. Uiteindelijk heeft dit meer met Raspberry te maken dan met OpenSprinkler...

    #24088
    Admin
    Sleutelbeheerder

    Ja, het SSL-certificaat is zoiets. Zonder geldig certificaat werkt de applicatie niet; het werkt alleen in de webbrowser en dan alleen als u de certificaatwaarschuwing bevestigt.

    Er is echter nog steeds de mogelijkheid om het certificaat te exporteren en op de smartphone te installeren. De domeinnaam moet overeenkomen met het Common Name-certificaat.

    Dus als je b.v. Als u uw dyndns-domein bijvoorbeeld sprinkler.dyndns.bla hebt genoemd, moet de algemene naam precies die naam zijn. En dat is precies hoe je het in de app moet gebruiken.

     

4 reportages op het strand - 1 tot 4 (busje in totaal 4)
  • Je moet een antwoord van de ander krijgen dat je kunt geven.