Kako namestiti brezplačno potrdilo SSL za Nginx v Debian 10


Pri postavitvi spletnega mesta je eden ključnih vidikov, ki ga morate upoštevati, varnost vašega spletnega mesta. Potrdilo SSL je digitalno potrdilo, ki šifrira podatke, ki jih uporabnikov brskalnik pošlje na spletni strežnik. Tako so poslani podatki zaupni in varni pred hekerji, ki uporabljajo vdihavalnike paketov, kot je Wireshark, za prestrezanje in prisluškovanje vaši komunikaciji.

Šifrirano spletno mesto ima v vrstici URL simbol ključavnice, ki mu sledi kratica https, kot je prikazano na naslednjem posnetku zaslona.

Nešifrirano spletno mesto ima v vrstici URL običajno obvestilo\"Not Secure".

Preden začnemo, se prepričajte, da so izpolnjene naslednje zahteve:

  1. Tekoči primerek strežnika Debian 10 Minimal.
  2. Tekoči primerek spletnega strežnika Nginx z nastavitvijo domene v Debianu 10.
  3. Registrirano popolnoma kvalificirano ime domene (FQDN) z zapisom A , ki kaže na naslov IP Debiana 10 pri vašem ponudniku domene.

V tej vadnici smo linux-console.net usmerili na naslov IP 192.168.0.104.

V tem članku preučujemo, kako lahko namestimo šifrirajmo SSL v Debian 10, da dobimo brezplačno potrdilo SSL za spletno mesto, ki ga gosti Nginx.

Šifrirajmo SSL je brezplačno potrdilo EFF (Electronic Frontier Foundation), ki velja 3 mesece in se po izteku samodejno podaljša. Če so vaši žepi tesni, je to preprost in poceni način šifriranja vašega spletnega mesta.

Brez večjih težav se potopimo in namestimo Let's Encrypt na spletni strežnik Nginx:

1. korak: Namestite Certbot v Debian 10

Za začetek moramo namestiti Certbot - je programska oprema, ki pridobi digitalno potrdilo Let’s encrypt in ga kasneje namesti na spletni strežnik. Da bi to dosegli, moramo namestiti paket python3-certbot-nginx. Toda preden to storimo, najprej posodobimo sistemske pakete.

$ sudo apt update

Naslednji korak je namestitev odvisnosti, ki jih zahteva paket python3-certbot-nginx.

$ sudo apt install python3-acme python3-certbot python3-mock python3-openssl python3-pkg-resources python3-pyparsing python3-zope.interface

Zdaj pa namestimo paket python3-certbot-nginx.

$ sudo apt install python3-certbot-nginx

Korak 2. Preverjanje konfiguracije bloka strežnika Nginx

Za samodejno uvajanje certbota Naj šifriramo potrdilo SSL na spletnem strežniku Nginx, je treba konfigurirati strežniški blok. Konfiguracijo strežniških blokov Nginx smo obravnavali v zadnjem poglavju prejšnjega članka.

Če ste močno spremljali, bi morali imeti strežniški blok na/etc/nginx/sites-available/some_domain. V našem primeru bo strežniški blok Nginx

/etc/nginx/sites-available/linux-console.net

Poleg tega se prepričajte, da direktiva server_name ustreza imenu vaše domene.

server_name linux-console.net linux-console.net;

Za potrditev, da so vse konfiguracije Nginx v redu, zaženite:

$ sudo nginx -t

Zgornji rezultat kaže, da je vse v redu.

3. korak: Konfigurirajte požarni zid tako, da odpre vrata HTTPS

Če ste ufw konfigurirali in omogočili, kot je vedno priporočljivo, moramo dovoliti protokol HTTPS prek požarnega zidu, da bo spletni strežnik dostopen vsem.

$ sudo ufw allow 'Nginx Full'

Nato znova naložite požarni zid, da izvedete spremembe.

$ sudo ufw reload

Da preverimo, ali smo protokol dovolili skozi požarni zid.

$ sudo ufw status

4. korak: Uvajanje šifrirnega potrdila SSL za domeno

Z vsemi preverjenimi nastavitvami in konfiguracijami je čas, da prevzamemo in namestimo potrdilo Let's Encrypt SSL na spletnem mestu domene.

$ sudo certbot --nginx -d domain-name  -d www.domain-name.com 

V našem primeru bomo

$ sudo certbot --nginx -d linux-console.net -d linux-console.net

V prvem koraku boste pozvani, da vnesete svoj e-poštni naslov. Vnesite naslov in pritisnite Enter.

Nato boste pozvani, da se strinjate s pogoji storitve. Za nadaljevanje vnesite A.

Certbot vas bo še naprej prosil za soglasje pri uporabi vašega e-poštnega sporočila za pošiljanje obvestil o najnovejših dogodkih v EFF. Tukaj lahko izberete, ali želite, da se odločite za to, vtipkate Y (Da) in pritisnete Enter. Če želite zavrniti sodelovanje, pritisnite N (Ne).

Certbot se bo nato obrnil na Let's encrypt, prenesel SSL certifikat in ga namestil v strežniški blok Nginx, ki ste ga že ustvarili.

V naslednjem razdelku vnesite 2 , če želite običajni promet HTTP preusmeriti na HTTPS.

Potrdilo bo nameščeno na strežnik Nginx in prejeli boste čestitko, s katero boste potrdili, da je vaš spletni strežnik zdaj šifriran z uporabo Let’s Encrypt SSL.

5. korak: Preverite HTTPS na spletnem mestu Nginx

Če želite preveriti spremembe prek spletnega brskalnika, osvežite zavihek brskalnika in opazite simbol ključavnice.

Kliknite ikono ključavnice in izberite možnost »Potrdilo«, da si ogledate podrobnosti o potrdilu SSL.

Prikazane bodo vse podrobnosti potrdila.

Stanje spletnega strežnika lahko nadalje preverite s preskusom URL-ja spletnega mesta na https://www.ssllabs.com/ssltest/. Če je spletni strežnik šifriran s certifikatom SSL, boste dobili rezultat A, kot je prikazano.

Prišli smo do konca te vaje. V vodniku ste se naučili, kako namestiti brezplačno potrdilo SSL za Nginx v Debian 10.