Trucco n. 3: HTTPS con OSPI e Raspberry Pi

Pagina iniziale foro Generalmente Trucco n. 3: HTTPS con OSPI e Raspberry Pi

Nota: i post nel forum sono consentiti solo ai clienti registrati che hanno effettuato almeno un acquisto. Accedi con l'account cliente con cui hai effettuato l'ordine.

Stai visualizzando 4 post - dal 1 a 4 (di 4 totali)
  • Autore
    inviare
  • #23346
    Admin
    Amministratore del forum

    Per accedere all'OSPi con dati crittografati HTTPS, è necessario un proxy HTTPS che crittografi la connessione.

    Un modo per farlo è con Nginx.

    1. Installa Nginx:

    sudo apt-get update
    sudo apt-get install nginx

    2. Crea certificato SSL:

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

    3. Modifica configurazione:

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

    Elimina tutte le righe e utilizza questa configurazione. Potrebbe essere necessario personalizzare le due cifre con "RASPI" con il nome del tuo Raspberry Pi.

    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. Abilitare e riavviare Nginx:

    sudo systemctl enable nginx

    sudo service nginx restart

    5. Fatto.

    Ora puoi accedere tramite browser. Reindirizza le richieste http a https oppure puoi accedervi direttamente tramite http

    L'originale della guida proviene da qui ed è stato adattato:

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

    Non dimenticare di modificare l'inoltro delle porte del router sulla porta 443 del Raspi (ad es. modificare da 3000 verso raspi/80 a 3000 verso raspi/443). Nell'app OpenSprinkler ti colleghi quindi con l'opzione “SSL”

    #23347
    Admin
    Amministratore del forum

    Con l'OpenSprinkler 3 purtroppo questo non è possibile, poiché per il sistema non è disponibile alcun client SSL. Tuttavia, è possibile utilizzare un Linux o Raspberry PI (aggiuntivo) per reindirizzare la crittografia verso l'OpenSprinkler 3. Basta sostituire nelle due indicazioni “http://localhost:8080” – sostituire “localhost” con l'indirizzo IP di OpenSprinkler e “8080” con “80”.

     

    #23933
    nachtigall
    Partecipante

    Ottimo consiglio, è quello che cercavo comunque. Grazie. Volevo anche DynDNS e letsencrypt, ma scoprirò se e come funziona. In definitiva, questo ha più a che fare con Raspberry che con OpenSprinkler...

    #24088
    Admin
    Amministratore del forum

    Sì, la questione del certificato SSL è particolare. Senza un certificato valido nemmeno l'applicazione funziona; funziona solo nel browser web e solo dopo aver confermato l'avviso di sicurezza del certificato.

    Tuttavia, c'è ancora la possibilità di esportare il certificato e installarlo sullo smartphone. Il nome di dominio deve corrispondere al Common Name del certificato.

    Quindi se, ad esempio, il dominio dyndns è stato chiamato sprinkler.dyndns.bla, il Common Name deve avere esattamente lo stesso nome. E deve essere utilizzato esattamente nello stesso modo nell'app.

     

Stai visualizzando 4 post - dal 1 a 4 (di 4 totali)
  • Devi essere connesso per rispondere a questo argomento.