Trucco n. 3: HTTPS con OSPI e Raspberry Pi

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

  • Questo topic ha 3 risposte, 2 partecipanti ed è stato aggiornato l'ultima volta 5 anni, 2 mesiAdmin.
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 {
    ascolta 80;
    ritorno 301 https://$host$richiesta_uri;
    }

    server {

    ascolta 443;
    nome_server raspi;

    certificato_ssl /etc/nginx/cert.crt;
    ssl_certificate_key /etc/nginx/cert.key;

    SSL attivo;
    ssl_session_cache builtin:1000 condiviso:SSL:10m;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
    ssl_prefer_server_ciphers attivo;

    # access_log /var/log/nginx/access.log;

    posizione / {

    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 $schema;

    # Correggi l'errore "Sembra che la configurazione del proxy inverso sia interrotta".
    proxy_pass http://localhost:8080;
    proxy_read_timeout 90;

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

    4. Abilita Nginx e riavvia:

    sudo systemctl abilita nginx

    Riavvio del servizio sudo nginx

    5. Fatto.

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

    Le istruzioni originali provengono da qui e sono state adattate:

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

    Non dimenticare di modificare la versione della porta del router sulla porta Raspi 443 (ad es. prima modificare 3000 in raspi/80 e 3000 in raspi/443). Nell'app OpenSprinkler ti connetti quindi con l'opzione "SSL".

    #23347
    Admin
    Amministratore del forum

    Sfortunatamente, questo non è possibile con OpenSprinkler 3 perché non è disponibile un client SSL per il sistema. Tuttavia, puoi utilizzare un (ulteriore) Linux o Raspberry PI per reindirizzare la crittografia su OpenSprinkler 3. Basta sostituire i due “http://localhost:8080” – Inserisci “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ì, il certificato SSL è una cosa del genere. L'applicazione non funziona senza un certificato valido; funziona solo nel browser web e solo se si conferma l'avviso del certificato.

    Esiste comunque la possibilità di esportare il certificato e installarlo sullo smartphone. Il nome di dominio deve corrispondere al certificato Common Name.

    Quindi se ad es. Ad esempio, se hai chiamato il tuo dominio dyndns sprinkler.dyndns.bla, il nome comune deve essere esattamente quello. Ed è esattamente così che devi usarlo nell'app.

     

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