Για να αποκτήσετε πρόσβαση στο 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 σας.
server {
listen 80;
return 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:
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”