Astuce n°3 : HTTPS avec OSPI et Raspberry Pi

Page d'accueil Forums En général Astuce n°3 : HTTPS avec OSPI et Raspberry Pi

4 matières de 1 à 4 (sur un total de 4)
  • Auteur
    Messages
  • #23346
    Admin
    Maître des clés

    Afin d'accéder à l'OSPi avec des données cryptées HTTPS, vous avez besoin d'un proxy HTTPS qui crypte la connexion.

    Une façon de procéder consiste à utiliser Nginx.

    1. Installez Nginx :

    sudo apt-get mise à jour
    sudo apt-get install nginx

    2. Créez un certificat 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. Modifier la configuration :

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

    Supprimez toutes les lignes et utilisez cette configuration. Vous devrez peut-être adapter les deux chiffres « RASPI » avec le nom de votre Raspberry Pi.

    serveur {
    écoutez 80 ;
    retour 301 https://$hôte$request_uri;
    }

    serveur {

    écoutez 443 ;
    nom_serveur raspi;

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

    SSL activé ;
    ssl_session_cache intégré : 1000 partagé : SSL : 10 m ;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2 ;
    ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
    ssl_prefer_server_ciphers activé ;

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

    emplacement / {

    proxy_set_header Hôte $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;

    # Corrigez l'erreur « Il semble que la configuration de votre proxy inverse soit défectueuse ».
    proxy_pass http://localhost:8080;
    proxy_read_timeout 90 ;

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

    4. Activez Nginx et redémarrez :

    sudo systemctl activer nginx

    redémarrage du service sudo nginx

    5. Terminé.

    Vous pouvez désormais accéder via un navigateur. Il redirige les requêtes http vers https ou vous y accédez directement via http

    Les instructions originales proviennent d'ici et ont été adaptées :

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

    N'oubliez pas de changer la version du port de votre routeur par le port Raspi 443 (par exemple, changez auparavant 3000 en raspi/80 en 3000 en raspi/443). Dans l'application OpenSprinkler vous vous connectez ensuite avec l'option « SSL ».

    #23347
    Admin
    Maître des clés

    Malheureusement, cela n'est pas possible avec OpenSprinkler 3 car aucun client SSL n'est disponible pour le système. Cependant, vous pouvez utiliser un Linux ou un Raspberry PI (supplémentaire) pour rediriger le cryptage vers OpenSprinkler 3. Placez-le simplement dans « http://localhost :8080 » – Angaben de « localhost » par l'adresse IP d'OpenSprinklers et «  8080 » avec «  80 ».

     

    #23933
    nachtigall
    Participant

    Très bon conseil, c'est ce que je cherchais en tout cas. Merci. Je voulais aussi DynDNS et Letsencrypt, mais je vais voir si et comment cela fonctionne. En fin de compte, cela a plus à voir avec Raspberry qu'avec OpenSprinkler...

    #24088
    Admin
    Maître des clés

    Oui, le certificat SSL est une telle chose. L'application ne fonctionne pas sans un certificat valide ; cela ne fonctionne que dans le navigateur Web et uniquement si vous confirmez l'avertissement du certificat.

    Il reste cependant la possibilité d’exporter le certificat et de l’installer sur le smartphone. Le nom de domaine doit correspondre au certificat Common Name.

    Donc si vous, par ex. Par exemple, si vous avez nommé votre domaine dyndns sprinkler.dyndns.bla, le nom commun doit être exactement celui-là. Et c'est exactement ainsi que vous devez l'utiliser dans l'application.

     

4 matières de 1 à 4 (sur un total de 4)
  • Connexion