Izmantojot šifrēsim Certbot, lai iegūtu HTTPS savā Amazon EC2 NGINX lodziņā

Let's Encrypt ir jauna sertifikātu pārvalde, kas nodrošina bezmaksas SSL sertifikātus (līdz noteiktam ierobežojumam nedēļā). Tā iznāca no beta apmēram mēnesi atpakaļ, un to atbalsta plašs pārlūkprogrammu klāsts.

Certbot ir oficiālais Let's Encrypt klients, kuru izstrādājis Fonds Electronic Frontier. Tas padara automātisku SSL / TLS sertifikātu iegūšanu un izvietošanu jūsu tīmekļa serverim salīdzinoši vienkāršu procesu.

Sāksim.

1. solis

Pārliecinieties, vai esat publiski atvēris 80. (HTTP) un 443. (HTTPS) portus savā instances drošības grupā . Certbot to izmantos, lai izveidotu savienojumus, ģenerējot jūsu sertifikātus.

Ņemiet vērā, ka es pavadīju pārāk daudz laika, lai saprastu, kāpēc es nevarēju ģenerēt sertifikātu, bet vienīgais jautājums bija tas, ka es nebiju atvēris 443. portu savā EC2 instances drošības grupā.

2. solis

Iestatiet sava domēna CNAME ierakstu, lai norādītu uz jūsu EC2 instances publisko DNS .

3. solis

Instalējiet Certbot savā instancē. Pamatojoties uz jūsu operētājsistēmu un serveri, jūs varat uzzināt, kā to instalēt, Certbot mājaslapā. NGINX operētājsistēmā Ubuntu 14.04 izmantojiet šo.

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

Palaidiet šo komandu savā mājas direktorijā:

/home/ubtuntu

4. solis

Pārtrauciet visus esošos serverus, kas darbojas 80. un 443. portā, jo tos izmanto Certbot, lai pārbaudītu jūsu domēnu un ģenerētu sertifikātus.

Pēc sertifikātu ģenerēšanas varat restartēt šos serverus.

5. solis

Izpildiet šo komandu, lai ģenerētu sertifikātus savam domēnam:

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

Izmantojot šo pieeju, varat ģenerēt sertifikātus vairākiem domēniem.

6. solis

Lai iespējotu SSL, mainiet NGINX konfigurāciju mapē /etc/nginx/nginx.conf :

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) galvene nodrošina, ka visas iekšējās saites, kas nav HTTPS, HTTPS sesijas laikā tiks automātiski novirzītas uz HTTPS versiju.

7. solis

Visbeidzot, atkārtoti ielādējiet savu NGINX konfigurāciju:

sudo service nginx reload

Apsveicam! Jūsu vietne xyz.example.com tagad veiksmīgi darbojas ar HTTPS.

PIEZĪME : Šifrēsim sertifikātus, kas ir derīgi tikai 3 mēnešus pēc izdošanas. Tātad ik pēc 3 mēnešiem ir nepieciešama atjaunošana. Lūk, kā jūs varat to automatizēt, izmantojot cron darbu.

Ja šī ziņa jums palīdzēja, nospiediet zemāk esošo sirds pogu. ? Un, ja tas tā nav, lūdzu, atstājiet komentāru, lai pastāstītu man, kā es varu to uzlabot.

PS: Paldies Narendra N Shetty par korektūru un ieteikumu sniegšanu.

Karans Thakkars ir Crowdfire līderis - jūsu supergudrais mārketinga līdzinieks . Viņa raksts jau iepriekš tika parādīts vietnē The Huffington Post. Viņam patīk brīvajā laikā izmēģināt jaunas tehnoloģijas un viņš ir izveidojis Tweetify (izmantojot React Native) un Show My PR (izmantojot Golang).

Citi viņa rakstītie raksti:

Kā es izaugu no 300 līdz 5k sekotājiem tikai 3 nedēļās

#GrowthHacking my Twitter account for @Crowdfire Twitter Premier League blog.markgrowth.com Ilustrēts ceļvedis savas vietnes iestatīšanai, izmantojot Github & Cloudflare

Viegli uzstādāma, tūlītēja izvietošana, bezmaksas HTTPS, HTTP2 / SPDY atbalstīšana, pielāgota novirzīšana, pārlūkprogrammas kešatmiņas derīguma termiņa beigām, HTTP droša… medium.freecodecamp.org