Aby uzyskać dostęp do OSPi z danymi zaszyfrowanymi HTTPS, potrzebujesz proxy HTTPS, które szyfruje połączenie.
Jednym ze sposobów na osiągnięcie tego jest Nginx.
1. Zainstaluj Nginx:
sudo apt-get update
sudo apt-get zainstaluj nginx
2. Utwórz certyfikat SSL:
płyta CD /etc/nginx
sudo openssl req -x509 -węzły -dni 3650 -newkey rsa:2048 -keyout /etc/nginx/cert.key -out /etc/nginx/cert.crt
3. Edytuj konfigurację:
sudo nano /etc/nginx/sites-enabled/default
Usuń wszystkie linie i użyj tej konfiguracji. Może być konieczne dostosowanie dwóch cyfr za pomocą „RASPI” do nazwy Twojego Raspberry Pi.
serwer {
słuchaj 80;
powrót 301 https://$host$request_uri;
}
serwer {
słuchaj 443;
nazwa_serwera raspi;
certyfikat_ssl /etc/nginx/cert.crt;
klucz_certyfikatu ssl /etc/nginx/cert.key;
ssl włączone;
ssl_session_cache wbudowany:1000 udostępniony:SSL:10m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
ssl_prefer_server_ciphers włączone;
# log_dostępu /var/log/nginx/access.log;
lokalizacja / {
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;
# Napraw błąd „Wygląda na to, że konfiguracja odwrotnego proxy jest uszkodzona”.
proxy_pass http://localhost:8080;
proxy_read_timeout 90;
przekierowanie_proxy http://localhost:8080 https://raspi;
}
}
4. Włącz Nginx i uruchom ponownie:
sudo systemctl włącz nginx
Sudo ponowne uruchomienie usługi Nginx
5. Gotowe.
Możesz teraz uzyskać dostęp przez przeglądarkę. Przekierowuje http na żądania https lub uzyskujesz do niego dostęp bezpośrednio przez http
Oryginalne instrukcje pochodzą stąd i zostały zaadaptowane:
https://www.digitalocean.com/community/tutorials/how-to-configure-nginx-with-ssl-as-a-reverse-proxy-for-jenkins
Nie zapomnij zmienić wersji portu routera na port Raspi 443 (np. wcześniej zmień 3000 na raspi/80 na 3000 na raspi/443). Następnie w aplikacji OpenSprinkler łączysz się za pomocą opcji „SSL”.