Installer Wildcard-sertifikater fra Lets Encrypt i Nginx på Ubuntu 19.04

I mars 2018 la Let's Encrypt til støtte for jokertegnsertifikater. Jokertegnsertifikater lar deg sikre alle underdomener på første nivå av et domene med ett enkelt sertifikat. Wildcard-sertifikater er kun tilgjengelig gjennom ACMEv2, som er en oppdatert versjon av ACME-protokollen. For å bruke ACMEv2 for jokertegn eller ikke-jokertegnsertifikater, trenger du en klient som har blitt oppdatert for å støtte ACMEv2. En slik klient er acme.sh, som er en ACME/ACMEv2-protokollklient skrevet utelukkende på Shell (Unix shell) språk uten noen avhengigheter. Videre må jokertegndomener valideres ved hjelp av DNS-01-utfordringstypen. Det betyr at du må endre DNS TXT-poster for å bevise kontroll over et domene for å få et jokertegnsertifikat.

I denne veiledningen forklarer vi hvordan du skaffer og distribuerer gratis jokertegnsertifikater fra Let's Encrypt på Ubuntu 19.04 ved å bruke acme.shklient, Lexicon- verktøy for automatisk manipulering av DNS-poster ved å konsumere Vultr API og distribuere sertifikater til Nginx-nettserveren.

Krav

  • Nylig distribuert Ubuntu 19.04 Vultr skyserver.
  • Du har et registrert domenenavn. Denne veiledningen bruker example.comsom eksempeldomene.
  • Sørg for at du har satt A/AAAA og CNAME DNS-poster for ditt Fully Qualified Domain Name (FQDN). Det kan være lurt å se Introduksjon til Vultr DNS-veiledningen hvis du trenger å gjøre deg kjent med DNS-konsepter.
  • Vultr API-tilgang aktivert i Vultr-kontokontrollpanelet.

Før du begynner

Sjekk Ubuntu-versjonen.

lsb_release -ds
# Ubuntu 19.04

Opprett en ny brukerkonto med sudotilgang og ditt foretrukne brukernavn og bytt til det. Vi bruker johndoe.

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

MERK : Erstatt johndoemed brukernavnet ditt.

Sett opp tidssonen.

sudo dpkg-reconfigure tzdata

Sørg for at Ubuntu-systemet ditt er oppdatert.

sudo apt update && sudo apt upgrade -y

Installer de nødvendige pakkene.

sudo apt install -y git wget curl socat

Installer Nginx

Installer Nginx-nettserveren.

sudo apt install -y nginx

Sjekk versjonen.

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

Installer Python og Lexicon

Som et første trinn i prosessen med å skaffe jokertegnsertifikater fra Let's Encrypt ved å bruke acme.sh og Vultr API, må du installere Python og Lexicon . Lexicon er en Python-pakke som gir en måte å manipulere DNS-poster på flere DNS-leverandører på en standardisert måte.

Installer Python hvis det ikke allerede er installert på systemet ditt.

sudo apt install -y python3

Bekreft installasjonen ved å bekrefte versjonen.

python3 --version
# Python 3.7.3

Installer Lexicon-verktøyet. Et leksikon er et Python-verktøy som lar deg manipulere DNS-poster på forskjellige DNS-leverandører på en standardisert måte.

sudo apt install -y lexicon

Sjekk Lexicon-versjonen.

lexicon --version
# lexicon 3.0.8

Installer acme.shklient

Acme.sher en ACME-protokollklient skrevet utelukkende i Shell (Unix shell) språk som automatiserer prosessen med å få et signert sertifikat via Let's Encrypt. Den støtter ACME v1 og ACME v2, og viktigst av alt støtter den ACME v2 jokertegnsertifikater. I denne delen installerer vi et Acme.sh-skript.

MERK: Det anbefales å bruke rootbrukeren til å installere acme.sh, selv om det ikke krever root/ sudotilgang.

Bytt til rootbruker fra den vanlige brukeren hvis du har opprettet den.

sudo su - root

Last ned og installer 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

Sjekk versjonen.

acme.sh --version
# v2.8.2

Skaff jokertegnsertifikater fra Let's Encrypt

For å få et jokertegnssertifikat kan vi bare bruke DNS-valideringsmetoden. Vi bruker Lexicon og Vultr DNS API for å manipulere TXT DNS-poster.

Skaff RSA- og ECC-jokertegnsertifikater for domenet ditt.

# 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

MERK : Ikke glem å erstatte example.commed domenenavnet ditt, og erstatte Vultr API-plassholderverdiene med dine egne.

Etter å ha kjørt de foregående kommandoene, er sertifikatene og nøklene dine i:

  • For RSA: ~/.acme.sh/example.comkatalog.
  • For ECC/ECDSA: ~/.acme.sh/example.com_ecckatalog.

MERK : Du bør ikke bruke cert-filene i ~/.acme.sh/mappen, de er kun for intern bruk, katalogstrukturen kan endres i fremtiden.

For å liste opp sertifikatene dine kan du kjøre:

acme.sh --list

Opprett en mappe for å lagre sertifikatene dine i produksjon. Vi bruker /etc/letsencryptkatalog.

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

Installer/kopier sertifikater for produksjonsbruk på serveren din.

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

Nå som vi har oppnådd jokertegnsertifikater fra Let's Encrypt, må vi konfigurere Nginx-nettserveren. Alle sertifikatene fornyes automatisk hver 60. dag.

Etter å ha oppnådd og installert sertifikater til din foretrukne plassering, kan du logge ut fra rootbruker til en vanlig sudobruker og fortsette å administrere serveren din ved å bruke sudoom nødvendig.

exit

Konfigurer Nginx webserver

Kjør sudo vim /etc/nginx/sites-available/example.com.confog fyll filen med følgende innhold. Erstatt alle forekomster av example.commed ditt eget domenenavn.

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;

}

Aktiver den nye example.com.confkonfigurasjonen ved å koble filen til sites-enabledkatalogen.

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

Test Nginx-konfigurasjonen.

sudo nginx -t

Last inn Nginx på nytt.

sudo systemctl reload nginx.service

Det er det. Vi distribuerte jokertegnssertifikater til Nginx ved å bruke acme.sh, Lexicon og Vultr API. Wildcard-sertifikater kan være nyttige når du ønsker å sikre flere underdomener på første nivå generert dynamisk.

Legg igjen en kommentar

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Kunstig intelligens er ikke i fremtiden, det er her akkurat i nåtiden I denne bloggen Les hvordan kunstig intelligens-applikasjoner har påvirket ulike sektorer.

DDOS-angrep: en kort oversikt

DDOS-angrep: en kort oversikt

Er du også et offer for DDOS-angrep og forvirret over forebyggingsmetodene? Les denne artikkelen for å løse spørsmålene dine.

Har du noen gang lurt på hvordan hackere tjener penger?

Har du noen gang lurt på hvordan hackere tjener penger?

Du har kanskje hørt at hackere tjener mye penger, men har du noen gang lurt på hvordan tjener de den slags penger? la oss diskutere.

Revolusjonerende oppfinnelser fra Google som vil gjøre livet ditt enkelt.

Revolusjonerende oppfinnelser fra Google som vil gjøre livet ditt enkelt.

Vil du se revolusjonerende oppfinnelser fra Google og hvordan disse oppfinnelsene forandret livet til alle mennesker i dag? Les deretter til bloggen for å se oppfinnelser fra Google.

Fredag ​​Essential: Hva skjedde med AI-drevne biler?

Fredag ​​Essential: Hva skjedde med AI-drevne biler?

Konseptet med selvkjørende biler som skal ut på veiene ved hjelp av kunstig intelligens er en drøm vi har hatt en stund nå. Men til tross for flere løfter, er de ingen steder å se. Les denne bloggen for å lære mer...

Teknologisk singularitet: en fjern fremtid for menneskelig sivilisasjon?

Teknologisk singularitet: en fjern fremtid for menneskelig sivilisasjon?

Ettersom vitenskapen utvikler seg raskt og tar over mye av innsatsen vår, øker også risikoen for å utsette oss for en uforklarlig singularitet. Les hva singularitet kan bety for oss.

Funksjonaliteter til Big Data Reference Architecture Layers

Funksjonaliteter til Big Data Reference Architecture Layers

Les bloggen for å kjenne ulike lag i Big Data Architecture og deres funksjoner på den enkleste måten.

Evolusjon av datalagring – infografikk

Evolusjon av datalagring – infografikk

Lagringsmetodene for dataene har vært i utvikling kan være siden fødselen av dataene. Denne bloggen dekker utviklingen av datalagring på grunnlag av en infografikk.

6 fantastiske fordeler ved å ha smarte hjemmeenheter i livene våre

6 fantastiske fordeler ved å ha smarte hjemmeenheter i livene våre

I denne digitaldrevne verden har smarthusenheter blitt en avgjørende del av livet. Her er noen fantastiske fordeler med smarthusenheter om hvordan de gjør livet vårt verdt å leve og enklere.

macOS Catalina 10.15.4 tilleggsoppdatering forårsaker flere problemer enn å løse

macOS Catalina 10.15.4 tilleggsoppdatering forårsaker flere problemer enn å løse

Nylig lanserte Apple macOS Catalina 10.15.4 en tilleggsoppdatering for å fikse problemer, men det ser ut til at oppdateringen forårsaker flere problemer som fører til muring av mac-maskiner. Les denne artikkelen for å lære mer