Instalați certificate Wildcard de pe Lets Encrypt în Nginx pe Ubuntu 19.04

În martie 2018 Let's Encrypt a adăugat suport pentru certificatele wildcard. Certificările Wildcard vă permit să securizați toate subdomeniile de prim nivel ale unui domeniu cu un singur certificat. Certificările Wildcard sunt obținute doar prin ACMEv2, care este o versiune actualizată a protocolului ACME. Pentru a utiliza ACMEv2 pentru certificate wildcard sau non-wildcard, veți avea nevoie de un client care a fost actualizat pentru a accepta ACMEv2. Un astfel de client este acme.sh, care este un client de protocol ACME / ACMEv2 scris pur în limbaj Shell (shell Unix) fără nicio dependență. Mai mult, domeniile wildcard trebuie validate folosind tipul de provocare DNS-01. Acest lucru implică faptul că trebuie să modificați înregistrările DNT TXT pentru a dovedi controlul asupra unui domeniu pentru a obține un certificat wildcard.

În acest ghid, vă explicăm cum să obțineți și să desfășurați certificate wildcard gratuite de la Let's Encrypt pe Ubuntu 19.04 folosind instrumentul acme.shclient, Lexicon pentru manipularea automată a înregistrărilor DNS prin consumarea API-ului Vultr și implementarea certificatelor pe serverul web Nginx.

cerinţe

  • Ubuntu 19.04 Server cloud Vultr recent implementat.
  • Aveți un nume de domeniu înregistrat. Acest ghid folosește example.comca domeniu de exemplu.
  • Asigurați-vă că ați setat înregistrări DNS A / AAAA și CNAME pentru numele dvs. de domeniu complet calificat (FQDN). Poate doriți să consultați tutorialul Introducere în Vultr DNS dacă aveți nevoie să vă familiarizați cu conceptele DNS.
  • Accesul API Vultr activat în panoul de control al contului dvs. Vultr.

Înainte de a începe

Verificați versiunea Ubuntu.

lsb_release -ds
# Ubuntu 19.04

Creați un cont de utilizator nou cu sudoacces și numele de utilizator preferat și treceți la acesta. Folosim johndoe.

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

NOTĂ : Înlocuiți johndoecu numele de utilizator.

Setați fusul orar.

sudo dpkg-reconfigure tzdata

Asigurați-vă că sistemul Ubuntu este actualizat.

sudo apt update && sudo apt upgrade -y

Instalați pachetele necesare.

sudo apt install -y git wget curl socat

Instalați Nginx

Instalați serverul web Nginx.

sudo apt install -y nginx

Verificați versiunea.

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

Instalați Python și Lexicon

Ca prim pas în procesul de obținere a certificatelor wildcard de la Let's Encrypt folosind acme.sh și API Vultr, trebuie să instalați Python și Lexicon . Lexicon este un pachet Python care oferă o modalitate de a manipula înregistrările DNS pe mai mulți furnizori DNS într-un mod standardizat.

Instalați Python dacă nu este deja instalat pe sistemul dvs.

sudo apt install -y python3

Confirmați instalarea verificând versiunea.

python3 --version
# Python 3.7.3

Instalați instrumentul Lexicon. Un lexicon este un instrument Python care vă permite să manipulați înregistrările DNS pe diverși furnizori DNS într-un mod standardizat.

sudo apt install -y lexicon

Verificați versiunea Lexicon.

lexicon --version
# lexicon 3.0.8

Instalați acme.shclientul

Acme.sheste un client de protocol ACME scris exclusiv într-un limbaj Shell (Unix shell) care automatizează procesul de obținere a unui certificat semnat prin Let's Encrypt. Acceptă ACME v1 și ACME v2 și, cel mai important, acceptă certificatele wildcard ACME v2. În această secțiune, instalăm un script Acme.sh.

NOTĂ: Se recomandă utilizarea rootutilizatorului pentru a instala acme.sh, deși nu necesită root/ sudoacces.

Treceți la rootutilizator de la utilizatorul obișnuit dacă l-ați creat.

sudo su - root

Descărcați și instalați 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

Verificați versiunea.

acme.sh --version
# v2.8.2

Obțineți certificate wildcard de la Let's Encrypt

Pentru a obține un certificat wildcard, putem utiliza doar metoda de validare DNS. Folosim API-ul Lexicon și Vultr DNS pentru a manipula înregistrările DNT TXT.

Obțineți certificatele wildcard RSA și ECC pentru domeniul dvs.

# 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

NOTĂ : Nu uitați să înlocuiți example.comcu numele dvs. de domeniu și să înlocuiți valorile marcatorului API Vultr cu cele proprii.

După executarea comenzilor precedente, certificatele și cheile sunt în:

  • Pentru RSA: ~/.acme.sh/example.comdirector.
  • Pentru ECC / ECDSA: ~/.acme.sh/example.com_eccdirector.

NOTĂ : Nu ar trebui să utilizați fișierele cert din ~/.acme.sh/folder, sunt numai pentru uz intern, structura directoarelor se poate schimba în viitor.

Pentru a enumera certificatele, puteți rula:

acme.sh --list

Creați un folder pentru a stoca certificatele în producție. Folosim /etc/letsencryptdirectorul.

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

Instalați / copiați certificate pentru utilizare în producție pe serverul dvs.

# 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"

Acum, după ce am obținut cu succes certificări wildcard de la Let's Encrypt, trebuie să configurăm serverul web Nginx. Toate certificatele sunt reînnoite automat la fiecare 60 de zile.

După obținerea și instalarea certificatelor în locația preferată, puteți să vă deconectați de la rootutilizator la un sudoutilizator obișnuit și să continuați să vă gestionați serverul utilizând, sudodacă este necesar.

exit

Configurați serverul web Nginx

Rulați sudo vim /etc/nginx/sites-available/example.com.confși populați fișierul cu următorul conținut. Înlocuiți toate aparițiile example.comcu un nume de domeniu propriu.

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;

}

Activați noua example.com.confconfigurație prin conectarea fișierului la sites-enableddirector.

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

Testați configurația Nginx.

sudo nginx -t

Reîncărcați Nginx.

sudo systemctl reload nginx.service

Asta e. Am implementat certificate wildcard în Nginx, folosind API-ul acme.sh, Lexicon și Vultr. Certificările Wildcard pot fi utile atunci când doriți să asigurați mai multe subdomenii de prim nivel generat dinamic.

Lasă un comentariu

O perspectivă asupra a 26 de tehnici de analiză a datelor mari: partea 1

O perspectivă asupra a 26 de tehnici de analiză a datelor mari: partea 1

O perspectivă asupra a 26 de tehnici de analiză a datelor mari: partea 1

Funcționalitățile straturilor arhitecturii de referință pentru Big Data

Funcționalitățile straturilor arhitecturii de referință pentru Big Data

Citiți blogul pentru a cunoaște diferitele straturi din Arhitectura Big Data și funcționalitățile acestora în cel mai simplu mod.

6 lucruri extrem de nebunești despre Nintendo Switch

6 lucruri extrem de nebunești despre Nintendo Switch

Mulți dintre voi cunoașteți Switch care va fi lansat în martie 2017 și noile sale funcții. Pentru cei care nu știu, am pregătit o listă de funcții care fac din „Switch” un „gadget obligatoriu”.

Promisiuni tehnologice care sunt încă nelivrate

Promisiuni tehnologice care sunt încă nelivrate

Aștepți ca giganții tehnologiei să-și îndeplinească promisiunile? vezi ce a ramas nelivrat.

Cum poate AI să ducă automatizarea proceselor la următorul nivel?

Cum poate AI să ducă automatizarea proceselor la următorul nivel?

Citiți asta pentru a afla cum devine populară inteligența artificială în rândul companiilor la scară mică și cum crește probabilitățile de a le face să crească și de a le oferi concurenților avantaje.

Singularitatea tehnologică: un viitor îndepărtat al civilizației umane?

Singularitatea tehnologică: un viitor îndepărtat al civilizației umane?

Pe măsură ce Știința Evoluează într-un ritm rapid, preluând multe dintre eforturile noastre, crește și riscurile de a ne supune unei Singularități inexplicabile. Citiți, ce ar putea însemna singularitatea pentru noi.

CAPTCHA: Cât timp poate rămâne o tehnică viabilă pentru distincția uman-AI?

CAPTCHA: Cât timp poate rămâne o tehnică viabilă pentru distincția uman-AI?

CAPTCHA a devenit destul de dificil de rezolvat pentru utilizatori în ultimii ani. Va fi capabil să rămână eficient în detectarea spam-ului și a botului în viitor?

Telemedicină și îngrijire medicală la distanță: viitorul este aici

Telemedicină și îngrijire medicală la distanță: viitorul este aici

Ce este telemedicina, îngrijirea medicală la distanță și impactul acesteia asupra generației viitoare? Este un loc bun sau nu în situația de pandemie? Citiți blogul pentru a găsi o vedere!

Te-ai întrebat vreodată cum câștigă hackerii bani?

Te-ai întrebat vreodată cum câștigă hackerii bani?

Poate ați auzit că hackerii câștigă mulți bani, dar v-ați întrebat vreodată cum câștigă acești bani? sa discutam.

Actualizarea suplimentului macOS Catalina 10.15.4 cauzează mai multe probleme decât rezolvă

Actualizarea suplimentului macOS Catalina 10.15.4 cauzează mai multe probleme decât rezolvă

Recent, Apple a lansat macOS Catalina 10.15.4 o actualizare suplimentară pentru a remedia problemele, dar se pare că actualizarea provoacă mai multe probleme care duc la blocarea mașinilor Mac. Citiți acest articol pentru a afla mai multe