Om toegang te krijgen tot de OSPi met HTTPS-gecodeerde gegevens, hebt u een HTTPS-proxy nodig die de verbinding codeert.
Een manier om dit te doen is met Nginx.
1. Installeer Nginx:
sudo apt-get-update
sudo apt-get install nginx
2. Maak een SSL-certificaat:
cd /etc/nginx
sudo openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout /etc/nginx/cert.key -out /etc/nginx/cert.crt
3. Configuratie bewerken:
sudo nano /etc/nginx/sites-enabled/default
Verwijder alle regels en gebruik deze configuratie. Mogelijk moet u de twee cijfers met “RASPI” aanpassen aan de naam van uw Raspberry Pi.
server {
luister 80;
retour 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. 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”