För att komma åt OSPi med HTTPS-krypterad data behöver du en HTTPS-proxy som krypterar anslutningen.
Ett sätt att göra detta är med Nginx.
1. Installera Nginx:
sudo apt-get uppdatering
sudo apt-get installera nginx
2. Skapa SSL-certifikat:
cd /etc/nginx
sudo openssl req -x509 -noder -days 3650 -newkey rsa:2048 -keyout /etc/nginx/cert.key -out /etc/nginx/cert.crt
3. Redigera konfiguration:
sudo nano /etc/nginx/sites-enabled/default
Ta bort alla rader och använd denna konfiguration. Du kan behöva anpassa de två positionerna med "RASPI" med namnet på din Raspberry Pi.
server {
lyssna 80;
retur 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”