Kako instalirati besplatni SSL certifikat za Nginx na Debian 10


Kada postavljate web stranicu, jedno od ključnih pitanja koje trebate imati na umu je sigurnost vaše stranice. SSL certifikat je digitalni certifikat koji šifrira podatke koji se šalju iz pretraživača korisnika na web server. Na ovaj način, podaci koji se šalju su povjerljivi i sigurni od hakera koji koriste njuškare paketa kao što je Wireshark da presretnu i prisluškuju vašu komunikaciju.

Šifrovana web lokacija ima simbol katanca u URL traci praćen akronimom https kao što je prikazano na sljedećem snimku ekrana.

Nešifrovana stranica obično ima obavijest „Nije bezbedno ” na URL traci.

Preduvjeti

Prije nego što počnemo, provjerite da li su ispunjeni sljedeći zahtjevi:

  1. Pokrenuta instanca Debian 10 Minimal Servera.
  2. Pokrenuta instanca Nginx web servera s postavkom domene na Debianu 10.
  3. Registrirani Potpuno kvalificirani naziv domene (FQDN) sa A zapisom koji upućuje na IP adresu Debiana 10 na vašem Provajderu domene.

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

U ovom članku ispitujemo kako možete instalirati Let's Encrypt SSL na Debian 10 da dobijete Besplatni SSL certifikat za Nginx hostovana stranica.

Šta je Let’s Encrypt SSL

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

Bez mnogo daljeg odlaganja, zaronimo i instalirajmo Let’s Encrypt na Nginx web server:

Korak 1: Instalirajte Certbot u Debian 10

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

sudo apt update

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

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

Sada instalirajmo python3-certbot-nginx paket.

sudo apt install python3-certbot-nginx

Korak 2. Provjera konfiguracije bloka Nginx servera

Da bi certbot automatski implementirao Šifrujmo SSL certifikat na Nginx web serveru, potrebno je konfigurirati blok servera. Pokrivali smo konfiguraciju blokova Nginx servera u posljednjem dijelu prethodnog članka.

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

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

Osim toga, uvjerite se da server_name direktiva odgovara imenu vaše domene.

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

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

sudo nginx -t

Izlaz iznad pokazuje da je sve u redu.

Korak 3: Konfigurišite zaštitni zid da otvori HTTPS port

U slučaju da ste ufw konfigurirali i omogućili, kao što se uvijek preporučuje, moramo dozvoliti HTTPS protokol preko firewall-a tako da web server bude dostupan svima.

sudo ufw allow 'Nginx Full'

Zatim ponovo učitajte zaštitni zid da biste izvršili promjene.

sudo ufw reload

Da potvrdimo da smo dozvolili protokol kroz zaštitni zid.

sudo ufw status

Korak 4: Uvođenje Let’s Encrypt SSL certifikata za domenu

Uz provjeru svih postavki i konfiguracija, vrijeme je za preuzimanje i implementaciju Encrypt SSL certifikata na web lokaciji domene.

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

U našem slučaju, imaćemo

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

U prvom koraku od vas će biti zatraženo da unesete svoju adresu e-pošte. Upišite svoju adresu i pritisnite Enter.

Zatim će od vas biti zatraženo da se složite sa uslovima korišćenja usluge. Upišite A da nastavite.

Certbot će nastaviti tražiti vašu saglasnost za korištenje vaše e-pošte za slanje obavještenja o najnovijim dešavanjima u EFFu. Ovdje možete odabrati želite li se uključiti ili isključiti, da biste se uključili, upišite Y (Da) i pritisnite Enter. Da odbijete učešće, pritisnite N (Ne).

Certbot će tada kontaktirati Let’s encrypt, preuzeti SSL certifikat i implementirati ga na blok Nginx servera koji ste već kreirali.

U sljedećem odjeljku  upišite 2 da preusmjerite uobičajeni HTTP promet na HTTPS.

Certifikat će biti raspoređen na vaš Nginx server i primit ćete pozdravno obavještenje da potvrdite da je vaš web server sada šifriran pomoću Encrypt SSL.

Korak 5: Potvrdite HTTPS na Nginx web stranici

Da biste potvrdili promjene putem web pretraživača, osvježite karticu preglednika i svakako primijetite simbol katanca.

Kliknite na ikonu katanca i odaberite opciju 'Certifikat' da vidite detalje SSL certifikata.

Svi detalji certifikata će biti prikazani.

Možete dodatno provjeriti status vašeg web servera testiranjem URL-a vaše web stranice na https://www.ssllabs.com/ssltest/. Ako  je web server š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.