За да получите достъп до OSPi с HTTPS криптирани данни, имате нужда от HTTPS прокси, който криптира връзката.
Един от начините да направите това е с Nginx.
1. Инсталирайте Nginx:
sudo apt-get актуализация
sudo apt-get инсталирайте nginx
2. Създайте 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. Редактирайте конфигурацията:
sudo nano /etc/nginx/sites-enabled/default
Изтрийте всички редове и използвайте тази конфигурация. Може да се наложи да персонализирате двете цифри с „RASPI“ с името на вашия Raspberry Pi.
сървър {
слушам 80;
връщане 301 https://$host$request_uri;
}
сървър {
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:
sudo systemctl enable nginx
sudo service nginx restart
5. Готово.
Вече можете да осъществите достъп през браузър. Той пренасочва http заявките към https или можете да осъществите директен достъп през http
Оригиналното ръководство идва оттук и беше адаптирано:
https://www.digitalocean.com/community/tutorials/how-to-configure-nginx-with-ssl-as-a-reverse-proxy-for-jenkins
Не забравяйте да промените пренасочването на портове (port forwarding) на вашия рутер към порт 443 на Raspi (т.е. напр. ако преди е било 3000 към raspi/80, променете на 3000 към raspi/443). В приложението OpenSprinkler се свържете с опцията “SSL”