ACME SSL /TLS Automatisering med Apache og Nginx

Sådan bruges ACME-protokollen til at automatisere SSL /TLS certifikater fra SSL.com på Apache og Nginx webservere.

Denne vejledning leder dig gennem opsætning af automatisk certifikatinstallation og fornyelse med SSL.com til Apache og Nginx med ACME-protokollen og Certbot-klienten.

Bemærk: Du skal bruge SSH-adgang og sudo rettigheder på din webserver til at følge disse instruktioner.
Bemærk:
Du kan bruge mange andre ACME-klienter, herunder Kubernetes cert-manager, med SSL.com's ACME-tjeneste.
acme4j  klient kan nu bruge SSL.com ACME-tjenester på dette lager: https://github.com/SSLcom/acme4j
Se venligst din softwareudbyders dokumentation for instruktioner til andre ikke-Certbot ACME-klienter.

Installer Certbot og hente ACME-legitimationsoplysninger

  1. SSH ind på din webserver.
  2. Sørg for, at en aktuel version af Certbotsammen med Apache- og Nginx-plugins er installeret på din webserver:
    • Hvis du har snapd installeret, kan du bruge denne kommando til installation:
      sudo snap-installation - klassisk certbot
    • If /snap/bin/ er ikke i din PATH, skal du også tilføje det eller køre en kommando som denne:
      sudo ln -s / snap / bin / certbot / usr / bin / certbot
  3. Hent dine ACME-legitimationsoplysninger fra din SSL.com-konto:
    1. Log ind på din SSL.com-konto. Hvis du allerede er logget ind, skal du gå til Hovedmenu fane.
      Hovedmenu
    2. Klik api-legitimationsoplysninger, placeret under udviklere og integration.
      Link til API-legitimationsoplysninger
    3. Du skal bruge din Konto / ACME-nøgle og HMAC-nøgle at anmode om certifikater. Klik på udklipsholderikonet () ved siden af ​​hver tast for at kopiere værdien til udklipsholderen.
      Konto / ACME-nøgle og HMAC-nøgle

Apache installation og automatisering

Brug en kommando som denne til at installere på Apache. Erstat værdier i ALLE CAPS med dine faktiske værdier:

sudo certbot --apache --email EMAIL-ADRESSE --agree-tos --no-eff-email --config-dir /etc/ssl-com --logs-dir /var/log/ssl-com --eab -kid ACCOUNT-KEY --eab-hmac-key HMAC-KEY --server https://acme.ssl.com/sslcom-dv-ecc -d DOMÆNE.NAVN

Nedbryde kommandoen:

  • sudo certbot kører certbot kommando med superbrugerrettigheder.
  • --apache angiver at installere certifikater til brug med Apache.
  • --email EMAIL-ADDRESS giver en e-mail-adresse til registrering. Du kan angive flere adresser adskilt med kommaer.
  • --agree-tos (valgfrit) accepterer ACME-abonnentaftalen. Du kan udelade dette, hvis du vil være enig interaktivt.
  • --no-eff-email (valgfrit) angiver, at du ikke vil dele din e-mail-adresse med EFF. Hvis du udelader dette, bliver du bedt om at dele din e-mail-adresse.
  • --config-dir /etc/ssl-com (valgfrit) indstiller konfigurationsmappen.
  • --logs-dir /var/log/ssl-com (valgfrit) indstiller biblioteket til logfiler.
  • --eab-kid ACCOUNT-KEY angiver din kontonøgle.
  • --eab-hmac-key HMAC-KEY angiver din HMAC-nøgle.
  • --server https://acme.ssl.com/sslcom-dv-ecc angiver SSL.coms ACME-server.
  • -d DOMAIN.NAME angiver det domænenavn, som certifikatet dækker.
Bemærk: Certbot 2.0.0 eller nyere genererer som standard ECDSA for nye certifikater. Ovenstående kommando er til et ECDSA-nøglepar og et certifikat. Sådan bruger du RSA-nøgler i stedet:

  • Skift --server værdi i kommandoen til https://acme.ssl.com/sslcom-dv-rsa
Bemærk: Du kan bruge -d DOMAIN.NAME mulighed flere gange i din kommando for at tilføje domænenavne til dit certifikat. Se vores oplysninger om certifikattyper og fakturering for at se, hvordan forskellige kombinationer af domænenavne tilordnes SSL.com-certifikattyper og deres tilsvarende prisfastsættelse.
Når du først kører ovenstående certbot kommando, ACME-kontooplysninger gemmes på din computer i konfigurationsmappen (/etc/ssl-com i kommandoen vist ovenfor. Ved fremtidige kørsler af certbot kan du udelade --eab-hmac-key og --eab-kid valgmuligheder, fordi certbot ignorerer dem til fordel for den lokalt gemte kontoinformation.

Hvis du har brug for at knytte dine ACME-certifikatordrer til computeren til en anden SSL.com-konto, skal du fjerne disse kontooplysninger fra din computer med kommandoen. sudo rm -r /etc/ssl-com/accounts/acme.ssl.com (eller hvis du har udeladt det valgfri --config-dir mulighed, sudo rm -r /etc/letsencrypt/accounts/acme.ssl.com).

Du skal se output som dette, når du har kørt kommandoen:

Gemme fejllog til /var/log/ssl-com/letsencrypt.log Valgte plugins: Authenticator-apache, Installatør-apache Indhentning af et nyt certifikat Udfører følgende udfordringer: http-01-udfordring for DOMAIN.NAME Venter på bekræftelse ... Oprydning af udfordringer Oprettet en SSL-vhost på /etc/apache2/sites-available/DOMAIN-le-ssl.conf Implementering af certifikat til VirtualHost /etc/apache2/sites-available/DOMAIN-le-ssl.conf Aktivering af tilgængelig side: / etc / apache2 / sites-available / DOMAIN-le-ssl.conf Omdirigerer vhost i /etc/apache2/sites-enabled/DOMAIN.NAME.conf til ssl vhost i /etc/apache2/sites-available/DOMAIN-le-ssl.conf - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Tillykke! Du har aktiveret https://DOMAIN.NAME - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Certbot opretter også en crontab-fil som denne til automatisk ikke-interaktiv fornyelse af ethvert certbot-installeret certifikat, der udløber inden for 30 dage:

$ cat /etc/cron.d/certbot # /etc/cron.d/certbot: crontab-poster til certbot-pakken # # Upstream anbefaler forsøg på fornyelse to gange om dagen # # Til sidst vil dette være en mulighed for at validere certifikater # haven ' ikke blev tilbagekaldt osv. Fornyelse finder kun sted, hvis udløbet er inden for 30 dage. # # Vigtig note! Denne cronjob udføres IKKE, hvis du # kører systemd som dit init-system. Hvis du kører systemd, har # cronjob.timer-funktionen forrang over denne cronjob. For # flere detaljer, se systemd.timer manpage, eller brug systemctl show # certbot.timer. SHELL = / bin / sh PATH = / usr / local / sbin: / usr / local / bin: / sbin: / bin: / usr / sbin: / usr / bin 0 * / 12 * * * rodtest -x / usr / bin / certbot -a \! -d / run / systemd / system && perl -e 'sleep int (rand (43200))' && certbot -q fornye
Bemærk: Alt SSL /TLS certifikater udstedt via ACME af SSL.com har et års levetid.

Nginx installation og automatisering

For Nginx skal du blot erstatte --nginx forum --apache i kommandoen vist ovenfor:

sudo certbot --nginx --email EMAIL-ADRESSE --agree-tos --no-eff-email --config-dir /etc/ssl-com --logs-dir /var/log/ssl-com --eab -kid ACCOUNT-KEY --eab-hmac-key HMAC-KEY --server https://acme.ssl.com/sslcom-dv-ecc -d DOMÆNE.NAVN
Bemærk: Certbot 2.0.0 eller nyere genererer som standard ECDSA for nye certifikater. Ovenstående kommando er til et ECDSA-nøglepar og et certifikat. Sådan bruger du RSA-nøgler i stedet:

  • Skift --server værdi i kommandoen til https://acme.ssl.com/sslcom-dv-rsa

Tving fornyelse manuelt

Hvis du ønsker at forny et certifikat manuelt inden udløbet er nært forestående, skal du bruge denne kommando:

certbot-fornyelse - force-renewal --cert-name DOMAIN.NAME

SSL.com tilbyder en bred vifte af SSL /TLS servercertifikater til HTTPS-websteder.

SAMMENLIG SSL /TLS CERTIFIKATER

Hold dig informeret og sikker

SSL.com er en global leder inden for cybersikkerhed, PKI og digitale certifikater. Tilmeld dig for at modtage de seneste industrinyheder, tips og produktmeddelelser fra SSL.com.

Vi vil meget gerne have din feedback

Tag vores undersøgelse og fortæl os dine tanker om dit seneste køb.