Κόλπο #3: HTTPS με OSPI και Raspberry Pi

Αρχική σελίδα Συζητήσεις Γενικά Κόλπο #3: HTTPS με OSPI και Raspberry Pi

  • Αυτό το θέμα έχει 3 απαντήσεις, 2 φωνές και ενημερώθηκε τελευταία φορά 5 έτη, 2 μήνες πριν από τον χρήστη Admin.
Προβολή 4 δημοσιεύσεων - 1 έως 4 (από 4 συνολικά)
  • Συντάκτης
    Άρθρα
  • #23346
    Admin
    Keymaster

    Για να αποκτήσετε πρόσβαση στο 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;
    }

    διακομιστής {

    ακούστε 443;
    όνομα_διακομιστή raspi;

    ssl_certificate /etc/nginx/cert.crt;
    ssl_certificate_key /etc/nginx/cert.key;

    ssl σε?
    ssl_session_cache ενσωματωμένο:1000 κοινόχρηστο: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;

    τοποθεσία / {

    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;

    # Διορθώστε το σφάλμα "Φαίνεται ότι η ρύθμιση του αντίστροφου διακομιστή μεσολάβησης έχει χαλάσει".
    proxy_pass http://localhost:8080;
    proxy_read_timeout 90;

    proxy_redirect http://localhost:8080 https://raspi;
    }
    }

    4. Ενεργοποιήστε το Nginx και επανεκκινήστε:

    sudo systemctl ενεργοποίηση nginx

    επανεκκίνηση της υπηρεσίας sudo nginx

    5. Έγινε.

    Μπορείτε πλέον να έχετε πρόσβαση μέσω του προγράμματος περιήγησης. Ανακατευθύνει το http σε αιτήματα https ή έχετε πρόσβαση απευθείας μέσω http

    Οι αρχικές οδηγίες προέρχονται από εδώ και έχουν προσαρμοστεί:

    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”

    #23347
    Admin
    Keymaster

    Δυστυχώς, αυτό δεν είναι δυνατό με το OpenSprinkler 3 επειδή δεν υπάρχει διαθέσιμος πελάτης SSL για το σύστημα. Ωστόσο, μπορείτε να χρησιμοποιήσετε ένα (πρόσθετο) Linux ή Raspberry PI για να ανακατευθύνετε την κρυπτογράφηση στο OpenSprinkler 3. Απλώς αντικαταστήστε τα δύο "http://localhost:8080” – Εισαγάγετε το "localhost" με τη διεύθυνση IP του OpenSprinkler και το "8080" με το "80".

     

    #23933
    nachtigall
    Συμμετέχων

    Υπέροχη συμβουλή, αυτό έψαχνα πάντως. Ευχαριστώ. Ήθελα επίσης DynDNS και letsencrypt, αλλά θα μάθω αν και πώς λειτουργεί. Ultimately, this has more to do with Raspberry than with OpenSprinkler...

    #24088
    Admin
    Keymaster

    Ναι, το πιστοποιητικό SSL είναι κάτι τέτοιο. Η εφαρμογή δεν λειτουργεί χωρίς έγκυρο πιστοποιητικό. λειτουργεί μόνο στο πρόγραμμα περιήγησης ιστού και μετά μόνο εάν επιβεβαιώσετε την προειδοποίηση πιστοποιητικού.

    Ωστόσο, εξακολουθεί να υπάρχει η επιλογή εξαγωγής του πιστοποιητικού και εγκατάστασης του στο smartphone. Το όνομα τομέα πρέπει να ταιριάζει με το πιστοποιητικό Common Name.

    Αν λοιπόν π.χ. Για παράδειγμα, αν ονομάσατε τον τομέα dyndns sprinkler.dyndns.bla, τότε το κοινό όνομα πρέπει να είναι ακριβώς αυτό. Και έτσι ακριβώς πρέπει να το χρησιμοποιήσετε στην εφαρμογή.

     

Προβολή 4 δημοσιεύσεων - 1 έως 4 (από 4 συνολικά)
  • Πρέπει να είστε συνδεδεμένοι για να απαντήσετε σ' αυτό το θέμα συζήτησης.