ACME SSL /TLS Automation med Apache och Nginx

Hur man använder ACME-protokollet för att automatisera SSL /TLS certifikat från SSL.com på Apache och Nginx webbservrar.

Relaterat innehåll

Vill du fortsätta lära dig?

Prenumerera på SSL.coms nyhetsbrev, håll dig informerad och säker.

Den här instruktionen guidar dig genom att konfigurera automatiskt certifikatinstallation och förnyelse med SSL.com för Apache och Nginx med ACME-protokollet och Certbot-klienten.

Notera: Du behöver SSH-åtkomst och sudo behörighet på din webbserver för att följa dessa instruktioner.
Notera:
Du kan använda många andra ACME-klienter, inklusive Kubernetes cert-hanterare, med SSL.com:s ACME-tjänst.
acme4j  klienten kan nu använda SSL.com ACME-tjänster på detta arkiv: https://github.com/SSLcom/acme4j
Se dokumentationen från din programvaruleverantör för instruktioner för andra ACME-klienter som inte tillhör Certbot.

Installera Certbot och hämta ACME-referenser

  1. SSH till din webbserver.
  2. Se till att en aktuell version av Certbot, tillsammans med Apache- och Nginx-plugins, installeras på din webbserver:
    • Om du snapd installerat, kan du använda det här kommandot för installation:
      sudo snap install - klassisk certbot
    • If /snap/bin/ är inte i din PATH, du måste också lägga till det eller köra ett kommando så här:
      sudo ln -s / snap / bin / certbot / usr / bin / certbot
  3. Hämta dina ACME-referenser från ditt SSL.com-konto:
    1. Logga in på ditt SSL.com-konto. Om du redan är inloggad, gå till Dashboard fliken.
      Dashboard
    2. Klicka api-referenser, som ligger under utvecklare och integration.
      API-referenslänk
    3. Du behöver din Konto / ACME-nyckel och HMAC-nyckel att begära certifikat. Klicka på urklippsikonen () bredvid varje tangent för att kopiera värdet till Urklipp.
      Konto / ACME-nyckel och HMAC-nyckel

Apache Installation och Automation

Använd ett sådant kommando för att installera på Apache. Ersätt värden i ALL CAPS med dina faktiska värden:

sudo certbot --apache --email E-POSTADRESS --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 DOMAIN.NAME

Bryta ner kommandot:

  • sudo certbot kör certbot kommando med superanvändarbehörigheter.
  • --apache anger att installera certifikat för användning med Apache.
  • --email EMAIL-ADDRESS anger en e-postadress för registrering. Du kan ange flera adresser, åtskilda av kommatecken.
  • --agree-tos (valfritt) godkänner ACME-abonnentavtalet. Du kan utelämna detta om du vill komma överens om interaktivt.
  • --no-eff-email (valfritt) indikerar att du inte vill dela din e-postadress med EFF. Om du utelämnar detta kommer du att uppmanas att dela din e-postadress.
  • --config-dir /etc/ssl-com (valfritt) ställer in konfigurationskatalogen.
  • --logs-dir /var/log/ssl-com (valfritt) ställer in katalogen för loggar.
  • --eab-kid ACCOUNT-KEY anger din kontonyckel.
  • --eab-hmac-key HMAC-KEY anger din HMAC-nyckel.
  • --server https://acme.ssl.com/sslcom-dv-ecc specificerar SSL.coms ACME-server.
  • -d DOMAIN.NAME anger domännamnet som certifikatet ska täcka.
Notera: Certbot 2.0.0 eller senare genererar som standard ECDSA för nya certifikat. Ovanstående kommando är för ett ECDSA-nyckelpar och certifikat. Så här använder du RSA-nycklar istället:

  • Ändra --server värde i kommandot till https://acme.ssl.com/sslcom-dv-rsa
Notera: Du kan använda -d DOMAIN.NAME alternativ flera gånger i ditt kommando för att lägga till domännamn i ditt certifikat. Se vår information på certifikattyper och fakturering för att se hur olika kombinationer av domännamn kopplas till SSL.com-certifikattyper och deras motsvarande prissättning.
När du kör ovanstående certbot ACME-kontoinformation lagras på din dator i konfigurationskatalogen (/etc/ssl-com i kommandot som visas ovan. Vid framtida körningar av certbot kan du utelämna --eab-hmac-key och --eab-kid alternativ eftersom certbot ignorerar dem till förmån för den lokalt lagrade kontoinformationen.

Om du behöver associera dina ACME-certifikatbeställningar för datorn till ett annat SSL.com-konto, bör du ta bort denna kontoinformation från din dator med kommandot sudo rm -r /etc/ssl-com/accounts/acme.ssl.com (eller om du har utelämnat tillvalet --config-dir alternativ, sudo rm -r /etc/letsencrypt/accounts/acme.ssl.com).

Du bör se utdata så här när du kör kommandot:

Sparar felsökningsloggen till /var/log/ssl-com/letsencrypt.log Insticksprogram valda: Authenticator apache, Installer apache Erhåller ett nytt certifikat Utför följande utmaningar: http-01 utmaning för DOMAIN.NAME Väntar på verifiering ... Rensar utmaningar Skapade en SSL vhost på /etc/apache2/sites-available/DOMAIN-le-ssl.conf Distribuera certifikat till VirtualHost /etc/apache2/sites-available/DOMAIN-le-ssl.conf Aktivera tillgänglig webbplats: / etc / apache2 / sites-available / DOMAIN-le-ssl.conf Omdirigerar vhost i /etc/apache2/sites-enabled/DOMAIN.NAME.conf till ssl vhost i /etc/apache2/sites-available/DOMAIN-le-ssl.conf - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Grattis! Du har aktiverat https://DOMAIN.NAME - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Certbot skapar också en crontab-fil så här för automatiserad icke-interaktiv förnyelse av certifikatinstallerat certifikat som löper ut inom 30 dagar:

$ cat /etc/cron.d/certbot # /etc/cron.d/certbot: crontab-poster för certbotpaketet # Upstream rekommenderar att du försöker förnya två gånger om dagen # # Så småningom blir detta en möjlighet att validera certifikat # haven ' har återkallats etc. Förnyelse sker endast om utgångsdatumet är inom 30 dagar. # # Viktig notering! Denna cronjob körs INTE om du # kör systemd som ditt init-system. Om du kör systemd har # cronjob.timer-funktionen företräde framför denna cronjob. För # mer information, se systemd.timer manpage, eller använd systemctl show # certbot.timer. SHELL = / bin / sh PATH = / usr / local / sbin: / usr / local / bin: / sbin: / bin: / usr / sbin: / usr / bin 0 * / 12 * * * root test -x / usr / bin / certbot -a \! -d / run / systemd / system && perl -e 'sleep int (rand (43200))' && certbot -q fornya
Notera: Alla SSL /TLS certifikat utfärdade via ACME av SSL.com har ett års livslängd.

Nginx installation och automatisering

För Nginx, helt enkelt ersätta --nginx för --apache i kommandot som visas ovan:

sudo certbot --nginx --email E-POSTADRESS --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 DOMAIN.NAME
Notera: Certbot 2.0.0 eller senare genererar som standard ECDSA för nya certifikat. Ovanstående kommando är för ett ECDSA-nyckelpar och certifikat. Så här använder du RSA-nycklar istället:

  • Ändra --server värde i kommandot till https://acme.ssl.com/sslcom-dv-rsa

Tvinga förnyelse manuellt

Om du vill förnya ett certifikat manuellt innan utgången är nära, använd detta kommando:

certbot förnya - kraftförnyelse - certnamn DOMÄN.NAMN

SSL.com erbjuder ett brett utbud av SSL /TLS servercertifikat för HTTPS-webbplatser.

JÄMFÖR SSL /TLS INTYG

Håll dig informerad och säker

SSL.com är en global ledare inom cybersäkerhet, PKI och digitala certifikat. Registrera dig för att få de senaste branschnyheterna, tipsen och produktmeddelanden från SSL.com.

Vi vill gärna ha din feedback

Följ vår undersökning och låt oss veta vad du tycker om ditt senaste köp.