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;
# 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 »