Para acceder a OSPi con datos cifrados HTTPS, necesita un proxy HTTPS que cifre la conexión.
Una forma de hacerlo es con Nginx.
1. Instale Nginx:
sudo apt-obtener actualización
sudo apt-get instalar nginx
2. Cree un certificado 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. Editar configuración:
sudo nano /etc/nginx/sites-enabled/default
Elimine todas las líneas y utilice esta configuración. Quizás tengas que adaptar las dos posiciones con “RASPI” con el nombre de tu Raspberry Pi.
servidor {
escuchar 80;
regresar 301 https://$host$request_uri;
}
servidor {
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»