Kako instalirati besplatni SSL certifikat za Nginx na Debian 10


Prilikom postavljanja web stranice, jedno od ključnih pitanja koje trebate imati na umu je sigurnost vaše web stranice. SSL certifikat je digitalni certifikat koji šifrira podatke koji se šalju iz preglednika korisnika na web poslužitelj. Na taj su način poslani podaci povjerljivi i sigurni od hakera koji koriste njuškala paketa poput Wiresharka za presretanje i prisluškivanje vaše komunikacije.

Šifrirano mjesto ima simbol lokota u URL traci iza kojeg slijedi kratica https kao što je prikazano na sljedećoj snimci zaslona.

Nešifrirana web-lokacija obično ima obavijest “Nije sigurno” na URL traci.

Preduvjeti

Prije nego počnemo, provjerite jesu li zadovoljeni sljedeći zahtjevi:

  1. Pokrenuta instanca Debian 10 Minimal Servera.
  2. Pokrenuta instanca Nginx Web poslužitelja s postavkom domene na Debianu 10.
  3. Registrirani Potpuno kvalificirani naziv domene (FQDN) sa zapisom A koji upućuje na IP adresu Debian 10 na vašem davatelju domene.

Za ovaj vodič, linux-console.net je ukazao na IP adresu 192.168.0.104.

U ovom članku ispitujemo kako možete instalirati Let's Encrypt SSL na Debian 10 da biste dobili besplatni SSL certifikat za Nginx hostirano mjesto.

Što je Let’s Encrypt SSL

Let’s Encrypt SSL je besplatni certifikat tvrtke EFF (Electronic Frontier Foundation) koji vrijedi 3 mjeseca i automatski se obnavlja po isteku. To je jednostavan i jeftin način za šifriranje vaše stranice ako su vam džepovi tijesni.

Bez puno odlaganja, zaronimo i instalirajmo Let’s Encrypt na Nginx web poslužitelj:

Korak 1: Instalirajte Certbot u Debian 10

Za početak moramo instalirati Certbot – softver koji dohvaća Let’s encrypt digitalni certifikat i kasnije ga postavlja na web poslužitelj. Da bismo to postigli, moramo instalirati paket python3-certbot-nginx. Ali prije nego što to učinimo, prvo ažurirajmo sistemske pakete.

sudo apt update

Sljedeći korak je instaliranje ovisnosti koje zahtijeva paket python3-certbot-nginx.

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

Sada instalirajmo paket python3-certbot-nginx.

sudo apt install python3-certbot-nginx

Korak 2. Provjera konfiguracije bloka Nginx poslužitelja

Da bi certbot automatski implementirao Šifrirajmo SSL certifikat na Nginx web poslužitelju, potrebno je konfigurirati blok poslužitelja. Pokrili smo konfiguraciju blokova Nginx poslužitelja u zadnjem odjeljku prethodnog članka.

Ako ste pažljivo pratili, trebali biste imati blok poslužitelja na /etc/nginx/sites-available/some_domain. U našem slučaju, blok poslužitelja Nginx bit će

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

Osim toga, osigurajte da direktiva server_name odgovara nazivu vaše domene.

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

Da potvrdite da su sve Nginx konfiguracije u redu, pokrenite:

sudo nginx -t

Gornji rezultat pokazuje da je sve u redu.

Korak 3: Konfigurirajte vatrozid za otvaranje HTTPS priključka

U slučaju da ste konfigurirali i omogućili ufw, kao što se uvijek preporučuje, moramo dopustiti HTTPS protokol preko vatrozida kako bi web poslužitelj bio dostupan svima.

sudo ufw allow 'Nginx Full'

Zatim ponovno učitajte vatrozid kako biste izvršili promjene.

sudo ufw reload

Da potvrdimo da smo protokolu dopustili kroz vatrozid.

sudo ufw status

Korak 4: Implementacija Let’s Encrypt SSL certifikata za domenu

Uz sve provjerene postavke i konfiguracije, vrijeme je da dohvatite i implementirate Let’s Encrypt SSL certifikat na web-mjestu domene.

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

U našem slučaju, imat ćemo

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

U prvom koraku od vas će se tražiti da unesete svoju adresu e-pošte. Upišite svoju adresu i pritisnite Enter.

Zatim će se od vas tražiti da prihvatite uvjete usluge. Upišite A za nastavak.

Certbot će nastaviti tražiti vaš pristanak za korištenje vaše e-pošte za slanje obavijesti o najnovijim razvojima u EFF. Ovdje možete odabrati želite li se uključiti ili isključiti, da biste se uključili, upišite Y (Da) i pritisnite Enter. Za odbijanje sudjelovanja pritisnite N (Ne).

Certbot će zatim kontaktirati Let’s encrypt, preuzeti SSL certifikat i implementirati ga na blok Nginx poslužitelja koji ste već izradili.

U sljedećem odjeljku  Upišite 2 za preusmjeravanje uobičajenog HTTP prometa na HTTPS.

Certifikat će se implementirati na vaš Nginx poslužitelj i primit ćete obavijest s čestitkama koja potvrđuje da je vaš web poslužitelj sada šifriran pomoću Let’s Encrypt SSL.

Korak 5: Provjerite HTTPS na Nginx web stranici

Kako biste provjerili promjene putem web preglednika, osvježite karticu preglednika i pripazite na simbol lokota.

Kliknite na ikonu lokota i odaberite opciju 'Certifikat' za pregled pojedinosti SSL certifikata.

Prikazat će se svi detalji certifikata.

Status svog web poslužitelja možete dodatno provjeriti testiranjem URL-a svoje web lokacije na https://www.ssllabs.com/ssltest/. Ako  je web-poslužitelj šifriran pomoću SSL certifikata, dobit ćete ocjenu A kao što je prikazano.

Zaključak

Došli smo do kraja ovog tutorijala. U vodiču ste naučili kako instalirati besplatni SSL certifikat za Nginx na Debian 10.