Instalirajte zamjenske certifikate iz Lets Encrypt u Nginx na Ubuntu 19.04

U ožujku 2018. Let's Encrypt je dodao podršku za zamjenske certifikate. Zamjenski certifikati omogućuju vam da osigurate sve poddomene prve razine domene s jednim certifikatom. Zamjenski certifikati dostupni su samo putem ACMEv2, koji je ažurirana verzija ACME protokola. Da biste koristili ACMEv2 za zamjenske ili ne-zamjenske certifikate, trebat će vam klijent koji je ažuriran da podržava ACMEv2. Jedan takav klijent je acme.sh, koji je klijent ACME/ACMEv2 protokola napisan isključivo u Shell (Unix shell) jeziku bez ikakvih ovisnosti. Nadalje, zamjenske domene moraju biti potvrđene korištenjem DNS-01 tipa izazova. To implicira da trebate izmijeniti DNS TXT zapise kako biste dokazali kontrolu nad domenom kako biste dobili zamjenski certifikat.

U ovom vodiču objašnjavamo kako dobiti i implementirati besplatne zamjenske certifikate iz Let's Encrypt na Ubuntu 19.04 pomoću acme.shklijenta, alata Lexicon za automatsku manipulaciju DNS zapisima korištenjem Vultr API-ja i implementacije certifikata na Nginx web poslužitelj.

Zahtjevi

  • Svježe raspoređeni Ubuntu 19.04 Vultr poslužitelj u oblaku.
  • Imate registrirano ime domene. Ovaj vodič koristi se example.comkao primjer domene.
  • Provjerite jeste li postavili A/AAAA i CNAME DNS zapise za svoj potpuno kvalificirani naziv domene (FQDN). Možda ćete htjeti pogledati vodič Uvod u Vultr DNS ako se trebate upoznati s DNS konceptima.
  • Vultr API pristup omogućen na kontrolnoj ploči vašeg Vultr računa.

Prije nego što počneš

Provjerite verziju Ubuntua.

lsb_release -ds
# Ubuntu 19.04

Stvorite novi korisnički račun s sudopristupom i željenim korisničkim imenom i prebacite se na njega. Koristimo johndoe.

adduser johndoe --gecos "John Doe"
usermod -aG sudo johndoe
su - johndoe

NAPOMENA : Zamijenite johndoesvojim korisničkim imenom.

Postavite vremensku zonu.

sudo dpkg-reconfigure tzdata

Provjerite je li vaš Ubuntu sustav ažuriran.

sudo apt update && sudo apt upgrade -y

Instalirajte potrebne pakete.

sudo apt install -y git wget curl socat

Instalirajte Nginx

Instalirajte Nginx web poslužitelj.

sudo apt install -y nginx

Provjerite verziju.

sudo nginx -v
# nginx version: nginx/1.15.9 (Ubuntu)

Instalirajte Python i Lexicon

Kao prvi korak u procesu dobivanja zamjenskih certifikata od Let's Encrypt pomoću acme.sh i Vultr API-ja, trebate instalirati Python i Lexicon . Lexicon je Python paket koji pruža način za manipuliranje DNS zapisima na više DNS pružatelja usluga na standardiziran način.

Instalirajte Python ako već nije instaliran na vašem sustavu.

sudo apt install -y python3

Potvrdite instalaciju provjerom verzije.

python3 --version
# Python 3.7.3

Instalirajte alat Lexicon. Leksikon je Python alat koji vam omogućuje da manipulirate DNS zapisima na različitim DNS davateljima na standardiziran način.

sudo apt install -y lexicon

Provjerite verziju Lexicona.

lexicon --version
# lexicon 3.0.8

Instaliraj acme.shklijenta

Acme.shje klijent ACME protokola napisan isključivo u Shell (Unix shell) jeziku koji automatizira proces dobivanja potpisanog certifikata putem Let's Encrypt. Podržava ACME v1 i ACME v2, a što je najvažnije podržava ACME v2 zamjenske certifikate. U ovom odjeljku instaliramo Acme.sh skriptu.

NAPOMENA: Preporuča se korištenje rootkorisnika za instalaciju acme.sh, iako ne zahtijeva root/ sudopristup.

Prijeđite na rootkorisnika s običnog korisnika ako ste ga stvorili.

sudo su - root

Preuzmite i instalirajte acme.sh.

git clone https://github.com/Neilpang/acme.sh.git
cd acme.sh
./acme.sh --install --accountemail "your_email@example.com"
source ~/.bashrc
cd

Provjerite verziju.

acme.sh --version
# v2.8.2

Nabavite zamjenske certifikate od Let's Encrypt

Za dobivanje zamjenskog certifikata možemo koristiti samo metodu provjere DNS-a. Koristimo Lexicon i Vultr DNS API za manipulaciju TXT DNS zapisima.

Nabavite RSA i ECC zamjenske certifikate za svoju domenu.

# Configure your API key and username
export PROVIDER=vultr
export LEXICON_VULTR_USERNAME="your_vultr_email@example.com"
export LEXICON_VULTR_TOKEN="XXXXXXXXXXXXXXX"

# RSA 2048
acme.sh --issue --dns dns_lexicon -d example.com -d '*.example.com' --keylength 2048
# ECC 256
acme.sh --issue --dns dns_lexicon -d example.com -d '*.example.com' --keylength ec-256

NAPOMENA : Nemojte zaboraviti zamijeniti example.comimenom svoje domene i zamijenite Vultr API vrijednosti rezerviranog mjesta svojim vlastitim.

Nakon izvođenja prethodnih naredbi, vaši certifikati i ključevi su u:

  • Za RSA: ~/.acme.sh/example.comimenik.
  • Za ECC/ECDSA: ~/.acme.sh/example.com_eccimenik.

NAPOMENA : Ne biste trebali koristiti datoteke certifikata u ~/.acme.sh/mapi, one su samo za internu upotrebu, struktura direktorija se može promijeniti u budućnosti.

Da biste naveli svoje certifikate, možete pokrenuti:

acme.sh --list

Izradite mapu za pohranu vaših certifikata u proizvodnji. Koristimo /etc/letsencryptimenik.

sudo mkdir -p /etc/letsencrypt/example.com
sudo mkdir -p /etc/letsencrypt/example.com_ecc

Instalirajte/kopirajte certifikate za proizvodnu upotrebu na vašem poslužitelju.

# RSA
acme.sh --install-cert -d example.com \
        --cert-file /etc/letsencrypt/example.com/cert.pem \
        --key-file /etc/letsencrypt/example.com/private.key \
        --fullchain-file /etc/letsencrypt/example.com/fullchain.pem \
        --reloadcmd "sudo systemctl reload nginx.service"

# ECC/ECDSA
acme.sh --install-cert -d example.com --ecc \
        --cert-file /etc/letsencrypt/example.com_ecc/cert.pem \
        --key-file /etc/letsencrypt/example.com_ecc/private.key \
        --fullchain-file /etc/letsencrypt/example.com_ecc/fullchain.pem \
        --reloadcmd "sudo systemctl reload nginx.service"

Sada kada smo uspješno dobili zamjenske certifikate od Let's Encrypta, moramo konfigurirati Nginx web poslužitelj. Svi certifikati se automatski obnavljaju svakih 60 dana.

Nakon dobivanja i instaliranja certifikata na željenu lokaciju, možete se odjaviti s rootkorisnika na običnog sudokorisnika i nastaviti upravljati svojim poslužiteljem korištenjem sudoako je potrebno.

exit

Konfigurirajte Nginx web poslužitelj

Pokrenite sudo vim /etc/nginx/sites-available/example.com.confi popunite datoteku sljedećim sadržajem. Zamijenite sva pojavljivanja example.coms vlastitim imenom domene.

server {

  listen 443 ssl http2;
  listen [::]:443 ssl http2;

  server_name example.com *.example.com;
  root /var/www/example.com;

  # RSA
  ssl_certificate /etc/letsencrypt/example.com/fullchain.pem;
  ssl_certificate_key /etc/letsencrypt/example.com/private.key;
  # ECDSA
  ssl_certificate /etc/letsencrypt/example.com_ecc/fullchain.pem;
  ssl_certificate_key /etc/letsencrypt/example.com_ecc/private.key;

}

Aktivirajte novu example.com.confkonfiguraciju povezivanjem datoteke s sites-enableddirektorijem.

sudo ln -s /etc/nginx/sites-available/example.com.conf /etc/nginx/sites-enabled/

Testirajte konfiguraciju Nginxa.

sudo nginx -t

Ponovno učitajte Nginx.

sudo systemctl reload nginx.service

To je to. U Nginx smo implementirali zamjenske certifikate koristeći acme.sh, Lexicon i Vultr API. Zamjenski certifikati mogu biti korisni kada želite osigurati više poddomena prve razine generiranih dinamički.

Ostavite komentar

Uspon strojeva: primjene AI u stvarnom svijetu

Uspon strojeva: primjene AI u stvarnom svijetu

Umjetna inteligencija nije u budućnosti, ovdje je upravo u sadašnjosti. U ovom blogu Pročitajte kako su aplikacije umjetne inteligencije utjecale na različite sektore.

DDOS napadi: kratak pregled

DDOS napadi: kratak pregled

Jeste li i vi žrtva DDOS napada i zbunjeni ste metodama prevencije? Pročitajte ovaj članak kako biste riješili svoje upite.

Jeste li se ikada zapitali kako hakeri zarađuju novac?

Jeste li se ikada zapitali kako hakeri zarađuju novac?

Možda ste čuli da hakeri zarađuju mnogo novca, ali jeste li se ikada zapitali kako zarađuju toliki novac? raspravimo.

Revolucionarni Googleovi izumi koji će vam olakšati život.

Revolucionarni Googleovi izumi koji će vam olakšati život.

Želite li vidjeti revolucionarne izume Googlea i kako su ti izumi promijenili život svakog čovjeka danas? Zatim čitajte na blogu kako biste vidjeli Googleove izume.

Friday Essential: Što se dogodilo s automobilima s umjetnom inteligencijom?

Friday Essential: Što se dogodilo s automobilima s umjetnom inteligencijom?

Koncept samovozećih automobila koji će krenuti na ceste uz pomoć umjetne inteligencije san je koji već neko vrijeme imamo. No, unatoč nekoliko obećanja, nigdje ih nema. Pročitajte ovaj blog kako biste saznali više…

Tehnološka singularnost: daleka budućnost ljudske civilizacije?

Tehnološka singularnost: daleka budućnost ljudske civilizacije?

Kako se znanost razvija velikom brzinom, preuzimajući mnoge naše napore, raste i rizik da se podvrgnemo neobjašnjivoj Singularnosti. Pročitajte što bi za nas mogla značiti singularnost.

Funkcionalnosti slojeva referentne arhitekture velikih podataka

Funkcionalnosti slojeva referentne arhitekture velikih podataka

Pročitajte blog kako biste na najjednostavniji način upoznali različite slojeve u arhitekturi velikih podataka i njihove funkcionalnosti.

Evolucija pohrane podataka – Infografika

Evolucija pohrane podataka – Infografika

Metode pohrane podataka su se razvijale možda od rođenja podataka. Ovaj blog pokriva evoluciju pohrane podataka na temelju infografike.

6 nevjerojatnih prednosti posjedovanja pametnih kućnih uređaja u našim životima

6 nevjerojatnih prednosti posjedovanja pametnih kućnih uređaja u našim životima

U ovom digitalnom svijetu, pametni kućni uređaji postali su ključni dio života. Evo nekoliko nevjerojatnih prednosti pametnih kućnih uređaja o tome kako naš život čine vrijednim življenja i jednostavnijim.

Ažuriranje dodataka macOS Catalina 10.15.4 uzrokuje više problema nego što ih rješava

Ažuriranje dodataka macOS Catalina 10.15.4 uzrokuje više problema nego što ih rješava

Nedavno je Apple izdao macOS Catalina 10.15.4 dodatak ažuriranju kako bi riješio probleme, ali čini se da ažuriranje uzrokuje više problema koji dovode do zalijevanja mac strojeva. Pročitajte ovaj članak da biste saznali više