Kaip įdiegti nemokamą „Nginx“ SSL sertifikatą „Debian 10“


Kuriant svetainę, vienas iš pagrindinių aspektų, kurį turėtumėte turėti omenyje, yra jūsų svetainės saugumas. SSL sertifikatas yra skaitmeninis sertifikatas, šifruojantis duomenis, siunčiamus iš vartotojo naršyklės į žiniatinklio serverį. Tokiu būdu siunčiami duomenys yra konfidencialūs ir saugūs nuo įsilaužėlių, kurie naudoja paketinius snifferius, tokius kaip „Wireshark“, kad perimtų ir pasiklausytų jūsų bendravimo.

Užšifruotoje svetainėje URL juostoje yra spynos simbolis, po kurio eina akronimas https, kaip parodyta kitoje ekrano kopijoje.

Nešifruotoje svetainėje URL juostoje paprastai yra pranešimas „Nesaugu“.

Prieš pradėdami įsitikinkite, kad laikomasi šių reikalavimų:

  1. Veikiantis „Debian 10 Minimal Server“ egzempliorius.
  2. Veikiantis „Nginx“ tinklo serverio egzempliorius su domeno sąranka „Debian 10“.
  3. Užregistruotas visiškai kvalifikuotas domeno vardas (FQDN) su A įrašu, nurodančiu jūsų „Debian 10“ IP adresą jūsų domeno teikėjui.

Šioje pamokoje linux-console.net nurodėme IP adresą 192.168.0.104.

Šiame straipsnyje mes išnagrinėjome, kaip galite įdiegti „Encrypt SSL“ „Debian 10“, kad gautumėte nemokamą SSL sertifikatą „Nginx“ priglobtai svetainei.

„Encrypt SSL“ yra nemokamas EFF („Electronic Frontier Foundation“) sertifikatas, galiojantis 3 mėnesius ir automatiškai atnaujinamas pasibaigus galiojimo laikui. Tai lengvas ir pigus būdas užšifruoti savo svetainę, jei jūsų kišenės suspaustos.

Neapsikentę pasinerkime ir įdiekime „Let’s Encrypt“ žiniatinklio serveryje „Nginx“:

1 veiksmas: įdiekite „Certbot“ į „Debian 10“

Norėdami pradėti, turime įdiegti „Certbot“ - tai programinė įranga, kuri gauna „Let‘s“ šifruojame skaitmeninį sertifikatą ir vėliau jį įdiegia žiniatinklio serveryje. Norėdami tai pasiekti, turime įdiegti python3-certbot-nginx paketą. Bet prieš tai atlikdami pirmiausia atnaujinkime sistemos paketus.

$ sudo apt update

Kitas žingsnis - įdiegti Python3-certbot-nginx paketui reikalingas priklausomybes.

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

Dabar įdiekime python3-certbot-nginx paketą.

$ sudo apt install python3-certbot-nginx

2 žingsnis. „Nginx“ serverio bloko konfigūracijos patikrinimas

Kad „certbot“ automatiškai įdiegtų „Nginx“ žiniatinklio serveryje šifruokime SSL sertifikatą, reikia sukonfigūruoti serverio bloką. „Nginx“ serverio blokų konfigūraciją aptarėme paskutiniame ankstesnio straipsnio skyriuje.

Jei atidžiai sekėte, turėtumėte turėti serverio bloką adresu/etc/nginx/sites-available/some_domain. Mūsų atveju „Nginx“ serverio blokas bus

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

Be to, įsitikinkite, kad „server_name“ direktyva atitinka jūsų domeno vardą.

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

Norėdami patvirtinti, kad visos „Nginx“ konfigūracijos yra tvarkingos, vykdykite:

$ sudo nginx -t

Aukščiau pateiktas rezultatas rodo, kad viskas gerai.

3 veiksmas: konfigūruokite ugniasienę, kad ji atidarytų HTTPS prievadą

Jei sukonfigūravote ir įgalinote „ufw“, kaip visada rekomenduojama, turime leisti HTTPS protokolą per užkardą, kad žiniatinklio serveris būtų prieinamas visiems.

$ sudo ufw allow 'Nginx Full'

Tada iš naujo įkelkite užkardą, kad atliktumėte pakeitimus.

$ sudo ufw reload

Norėdami patikrinti, ar leidome protokolą per užkardą.

$ sudo ufw status

4 žingsnis: Šifruokime SSL sertifikatą domenui

Patikrinus visus nustatymus ir konfigūracijas, atėjo laikas gauti ir įdiegti „Let's Encrypt SSL“ sertifikatą domeno svetainėje.

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

Mūsų atveju turėsime

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

Pirmame žingsnyje būsite paraginti įvesti savo el. Pašto adresą. Įveskite savo adresą ir paspauskite Enter.

Tada jūsų bus paprašyta susitarti dėl paslaugų teikimo sąlygų. Tipas A tęsti.

„Certbot“ toliau prašys jūsų sutikimo naudodama jūsų el. Pašto adresą, kad išsiųstų jums pranešimus apie naujausius EŽF įvykius. Čia galite pasirinkti pasirinkti arba atsisakyti, pasirinkti, įveskite Y (Taip) ir paspauskite Enter. Norėdami atmesti dalyvavimą, paspauskite N (Ne).

Tada „Certbot“ susisieks su „Let's encrypt“, atsisiųskite SSL sertifikatą ir įdiekite jį į jau sukurtą „Nginx“ serverio bloką.

Kitame skyriuje įveskite 2 , kad įprastas HTTP srautas būtų nukreiptas į HTTPS.

Sertifikatas bus dislokuotas jūsų „Nginx“ serveryje ir gausite sveikinimo pranešimą, patvirtinantį, kad jūsų žiniatinklio serveris dabar užšifruotas naudojant „Let’s Encrypt SSL“.

5 veiksmas: patikrinkite HTTPS „Nginx“ svetainėje

Norėdami patikrinti pakeitimus naudodami žiniatinklio naršyklę, atnaujinkite naršyklės skirtuką ir nepamirškite pastebėti spynos simbolio.

Norėdami pamatyti išsamią SSL sertifikato informaciją, spustelėkite spynos piktogramą ir pasirinkite parinktį „Pažymėjimas“.

Bus rodoma visa sertifikato informacija.

Toliau galite patikrinti savo žiniatinklio serverio būseną išbandydami savo svetainės URL adresu https://www.ssllabs.com/ssltest/. Jei žiniatinklio serveris yra užšifruotas naudojant SSL sertifikatą, gausite A balą, kaip parodyta.

Mes baigėme šią pamoką. Vadove sužinojote, kaip įdiegti nemokamą „Nginx“ SSL sertifikatą „Debian 10“.