Para acessar o OSPi com dados criptografados HTTPS, você precisa de um proxy HTTPS que criptografe a conexão.
Uma maneira de fazer isso é com o Nginx.
1. Instale o Nginx:
sudo apt-get atualização
sudo apt-get instalar nginx
2. Crie um 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. Edite a configuração:
sudo nano /etc/nginx/sites-enabled/default
Exclua todas as linhas e use esta configuração. Pode ser necessário personalizar os dois dígitos com “RASPI” com o nome do seu Raspberry Pi.
servidor {
ouça 80;
retornar 301 https://$host$request_uri;
}
servidor {
ouça 443;
nome_servidor raspi;
ssl_certificate /etc/nginx/cert.crt;
ssl_certificate_key /etc/nginx/cert.key;
SSL ativado;
ssl_session_cache embutido:1000 compartilhado:SSL:10m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
ssl_prefer_server_ciphers ativado;
# access_log /var/log/nginx/access.log;
localização / {
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 $esquema;
# Corrija o erro “Parece que a configuração do seu proxy reverso está quebrada”.
proxy_pass http://localhost:8080;
proxy_read_timeout 90;
proxy_redirect http://localhost:8080 https://raspi;
}
}
4. Habilite o Nginx e reinicie:
sudo systemctl habilitar nginx
sudo serviço nginx reiniciar
5. Concluído.
Agora você pode acessar via navegador. Ele redireciona solicitações http para https ou você acessa diretamente via http
As instruções originais vêm daqui e foram adaptadas:
https://www.digitalocean.com/community/tutorials/how-to-configure-nginx-with-ssl-as-a-reverse-proxy-for-jenkins
Não se esqueça de alterar o encaminhamento de porta do seu router para a porta 443 do Raspi (por exemplo, alterar anteriormente 3000 para raspi/80 para 3000 para raspi/443). Na aplicação OpenSprinkler, liga-se então com a opção “SSL”