Χρησιμοποιώντας το Let's Encrypt Certbot για λήψη HTTPS στο πλαίσιο Amazon EC2 NGINX

Το Let's Encrypt είναι μια νέα αρχή έκδοσης πιστοποιητικών που παρέχει δωρεάν πιστοποιητικά SSL (έως ένα συγκεκριμένο όριο ανά εβδομάδα). Βγήκε από το beta περίπου ένα μήνα πίσω και υποστηρίζεται από ένα ευρύ φάσμα προγραμμάτων περιήγησης.

Το Certbot είναι ο επίσημος πελάτης Let's Encrypt, που αναπτύχθηκε από το Electronic Frontier Foundation. Καθιστά αυτόματα την ανάκτηση και την ανάπτυξη πιστοποιητικών SSL / TLS για τον διακομιστή ιστού σας μια σχετικά απλή διαδικασία.

Ας αρχίσουμε.

Βήμα 1

Βεβαιωθείτε ότι έχετε ανοίξει τις θύρες 80 (HTTP) και 443 (HTTPS) στην ομάδα ασφαλείας της παρουσίας σας στο κοινό. Το Certbot θα το χρησιμοποιήσει για τη δημιουργία συνδέσεων κατά τη δημιουργία των πιστοποιητικών σας.

Σημειώστε ότι πέρασα πάρα πολύ χρόνο για να καταλάβω γιατί δεν μπορούσα να δημιουργήσω ένα πιστοποιητικό, ενώ το μόνο πρόβλημα ήταν ότι δεν είχα ανοίξει τη θύρα 443 στην ομάδα ασφαλείας EC2.

Βήμα 2

Ρυθμίστε την εγγραφή CNAME του τομέα σας για να οδηγεί στο δημόσιο DNS της παρουσίας EC2.

Βήμα # 3

Εγκαταστήστε το Certbot στην παρουσία σας. Με βάση το λειτουργικό σύστημα και το διακομιστή σας, μπορείτε να μάθετε πώς να το εγκαταστήσετε στην αρχική σελίδα του Certbot. Για το NGINX στο Ubuntu 14.04 , χρησιμοποιήστε το.

wget //dl.eff.org/certbot-auto chmod a+x certbot-auto

Εκτελέστε αυτήν την εντολή στον αρχικό σας κατάλογο:

/home/ubtuntu

Βήμα # 4

Διακόψτε τυχόν υπάρχοντες διακομιστές που εκτελούνται στη θύρα 80 και 443, καθώς αυτοί χρησιμοποιούνται από το Certbot για την επαλήθευση του τομέα σας και τη δημιουργία πιστοποιητικών.

Μπορείτε να κάνετε επανεκκίνηση αυτών των διακομιστών μόλις ολοκληρώσετε τη δημιουργία των πιστοποιητικών.

Βήμα # 5

Εκτελέστε την ακόλουθη εντολή για να δημιουργήσετε πιστοποιητικά για τον τομέα σας:

./certbot-auto certonly --standalone -d xyz.yourdomain.com

Μπορείτε να δημιουργήσετε πιστοποιητικά για πολλούς τομείς χρησιμοποιώντας αυτήν την προσέγγιση.

Βήμα # 6

Αλλάξτε τη διαμόρφωση NGINX στο /etc/nginx/nginx.conf για να ενεργοποιήσετε το SSL:

http { ## # Logging Settings ## access_log /var/log/nginx/access.log; error_log /var/log/nginx/error.log; server { listen 80; server_name xyz.yourdomain.com; location / { # Redirect any http requests to https return 301 //$server_name$request_uri; } } server { listen 443 ssl; server_name xyz.yourdomain.com; ssl_certificate /etc/letsencrypt/live/xyz.yourdomain.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/xyz.yourdomain.com/privkey.pem; add_header Strict-Transport-Security “max-age=31536000”; location / { proxy_pass //127.0.0.1:3000; } } }

Η κεφαλίδα Strict-Transport-Security (HSTS) διασφαλίζει ότι τυχόν εσωτερικοί σύνδεσμοι που δεν είναι HTTPS θα δρομολογούνται αυτόματα στην έκδοση HTTPS κατά τη διάρκεια μιας περιόδου σύνδεσης HTTPS.

Βήμα # 7

Τέλος, φορτώστε ξανά τη διαμόρφωση NGINX:

sudo service nginx reload

Συγχαρητήρια! Ο ιστότοπός σας xyz.example.com εκτελείται με επιτυχία σε HTTPS.

ΣΗΜΕΙΩΣΗ : Τα πιστοποιητικά Let's Encrypt ισχύουν μόνο για 3 μήνες μετά την έκδοση. Έτσι, κάθε 3 μήνες, απαιτείται ανανέωση. Δείτε πώς μπορείτε να το αυτοματοποιήσετε χρησιμοποιώντας μια εργασία cron.

Εάν αυτή η ανάρτηση σας βοήθησε, πατήστε το κουμπί καρδιάς παρακάτω. ; Και αν όχι, αφήστε ένα σχόλιο για να μου πείτε πώς μπορώ να το βελτιώσω.

PS: Ευχαριστώ τον Narendra N Shetty για τη διόρθωση και την υποβολή προτάσεων.

Η Karan Thakkar είναι ο επικεφαλής του Crowdfire - το σούπερ έξυπνο μάρκετινγκ . Το άρθρο του είχε εμφανιστεί στο The Huffington Post. Του αρέσει να δοκιμάζει νέες τεχνολογίες στον ελεύθερο χρόνο του και έχει δημιουργήσει το Tweetify (χρησιμοποιώντας το React Native) και το Show My PR's (χρησιμοποιώντας Golang).

Άλλα άρθρα που γράφτηκε από αυτόν:

Πώς μεγάλωσα από 300 σε 5k ακόλουθους σε μόλις 3 εβδομάδες

#GrowthΧάραξη του λογαριασμού μου στο Twitter για @Crowdfire Twitter Premier League blog.markgrowth.com Ένας εικονογραφημένος οδηγός για τη ρύθμιση του ιστότοπού σας με χρήση του Github & Cloudflare

Εύκολη ρύθμιση, Άμεση ανάπτυξη, Δωρεάν HTTPS, Υποστήριξη HTTP2 / SPDY, Προσαρμοσμένη ανακατεύθυνση, Λήξη προσωρινής μνήμης προγράμματος περιήγησης, HTTP Secure… medium.freecodecamp.org