SSL-certifikat får vara giltiga i högst 199 dagar. Senast 2027-03-15 blir gränsen 99 dagar, för DigiCert-certifikat redan från 2027-02-24. Läs mer →
Svensk support på svenska, vardagar 10:00-16:00 +46 10 101 03 34 info@fairssl.se

Väg 1 · Gratis ACME · Gör det själv

Gratis SSL-certifikat med ACME: guide till konfiguration och drift

Gratis SSL-certifikat löser utfärdandet. Ni behöver fortfarande sköta förnyelse, installation och övervakning. Välj en CA, begränsa DNS-behörigheterna och testa hela vägen fram till tjänsten som använder SSL-certifikatet.

Välj den när
era servrar och er utrustning har inbyggd ACME som själv förnyar och själv rapporterar fel, eller när ni har en tekniker som kan bygga och underhålla skript. Certifikaten är gratis, och ni väljer själva CA, klient och valideringsmetod per server.
Passar inte längre när
varje server får sin egen lösning, dokumentation och övervakning inte hänger med, och det inte finns något centralt ställe som visar hur allt är uppsatt och körs. Timmarna för att utveckla skript, uppdatera dem och sätta upp nya servrar blir snabbt många när miljön växer.

Så fungerar ACME

ACME är protokollet mellan er klient och en CA. Klienten beställer SSL-certifikatet och bevisar kontrollen över namnen. Installation i rätt tjänst är ett separat steg.

RFC 8555: ACME beskriver förloppet: account skapar ACME-kontot; order beställer namnen; authorization anger vad som behöver godkännas; challenge bevisar domänkontrollen; finalize skickar en CSR; certificate låter klienten hämta det utfärdade SSL-certifikatet.

ARI (ACME Renewal Information, RFC 9773) låter CA:n föreslå ett förnyelsefönster. Klienten behöver fortfarande köras regelbundet och installera resultatet. Läs om ACME-protokollet från beställning till förnyelse.

Välj en gratis CA

Välj CA efter er valideringsmetod och drift. Skapa det konto som behövs, läs CA:ns villkor och tillåt den i era CAA-poster.

Gratis CA:er för SSL-certifikat med ACME
CAVad behöver ni veta?
Google Trust Services (rekommenderas)Lite mer att konfigurera första gången: ett Google Cloud-konto, ett projekt och en EAB-nyckel. I gengäld ger dns-persist-01 den säkraste valideringen, eftersom servrarna inte behöver DNS-API-uppgifter. Konfiguration · dns-persist-01
Let's Encrypt (mest populära)Kräver validering med http-01 eller dns-01. Om det är enkelt att öppna port 80 fungerar det bra för de flesta. Med dns-01 behöver servrarna DNS-API-uppgifter, helst bara för en separat valideringszon (se Domänvalidering). Har rate limits för dubbletter. Kom igång · Spridning · Rate limits
ZeroSSLKräver ett konto. ACME och EAB
Actalis (EU)Ett bra val när EU kommer först. Bara ett FQDN per certifikat, men gratis. ACME-guide · Gratis plan · Europeisk CA

ACME-klienten skapar kontot hos Let’s Encrypt. Tabellen lyfter fram http-01 och dns-01; Let’s Encrypt stöder även tls-alpn-01.

Google Trust Services kräver ett Google Cloud-konto och ett projekt med Public CA API aktiverat. Skapa en EAB-nyckel (External Account Binding) för att koppla ACME-kontot till projektet. Projektets ACME-konton delar Public CA-kvoter. ZeroSSL kräver också EAB-uppgifter; deras gratis ACME-tjänst är skild från övriga API-produkter.

En CAA-post begränsar vilka CA:er som får utfärda. Tillåt er valda CA med issue och kontrollera issuewild för wildcards. Använd CAA-reglerna och FairSSL:s CAA-generator för rätt DNS-post.

Rate limits för utfärdande

När certifikatens livslängd blir kortare slår rate limits hårdare, eftersom ni utfärdar oftare. Gränserna betyder mest när ni utfärdar många nya certifikat på en gång, till exempel när en ny miljö tillkommer, när ni byter CA eller när ni återställer servrar från backup. Ett certifikat som flyttar från en annan CA räknas som nytt hos den nya CA:n.

Gränser hos de gratis CA:erna
CAGränser för utfärdande och valideringNamn per certifikatKälla
Google Trust Services
  • 100 nya certifikatbeställningar (newOrder) per timme.
  • 300 nya authorizations per timme.
  • Gränserna gäller per Google Cloud-projekt och delas av alla ACME-konton i projektet. Varje EAB-nyckel hör till ett projekt, så ni får mer kapacitet genom att fördela på flera projekt.
  • Klienten måste kunna hantera HTTP 429 och Retry-After.
  • Staging har samma gränser.
Inte angivetGoogle Cloud: kvoter · Google: EAB och projekt
Uppdaterad 2026-10-28. Senast kontrollerad 2026-11-07.
Let's Encrypt
  • 50 certifikat per registrerad domän per 7 dagar. Gränsen gäller över alla konton.
  • 5 certifikat med exakt samma namn per 7 dagar. Gränsen gäller över alla konton. Nås typiskt när klienten installeras om, dess konfiguration raderas eller en server återställs från backup utan ACME-konfigurationen och utfärdar igen. Ta med ACME-konfigurationen i backupen.
  • 300 nya beställningar per ACME-konto per 3 timmar.
  • 5 misslyckade valideringar per namn per konto per timme.
  • Förnyelser med ARI är undantagna från alla Let’s Encrypts gränser. En förnyelse utan ARI av exakt samma namn är bara undantagen från gränserna per konto och per registrerad domän.
  • Använd staging när ni testar.
Upp till 100 namn (FQDN eller IP) per certifikat, beroende på vald certifikatprofil.Let's Encrypt: rate limits
Uppdaterad 2026-08-05. Senast kontrollerad 2026-11-07.
ZeroSSL
  • Ett bra val när ni behöver höga gränser. ZeroSSL har inga fasta gränser för ACME, men en fair usage policy, och de kan begränsa missbruk.
Inte angivetZeroSSL: ACME
Senast kontrollerad 2026-11-07.
Actalis
  • Ett bra val när EU kommer först, eller när ni behöver höga gränser och klarar er med ett FQDN per certifikat. Actalis har inga publicerade gränser för ACME, och certifikat med ett namn och 90 dagars livslängd är obegränsade, även på gratisplanen. Certifikat med flera namn räknas mot det som planen innehåller.
1 FQDNActalis: gratisplan · Actalis: ACME · Actalis: europeisk CA
Senast kontrollerad 2026-11-07.

Planerar ni många nya certifikat, fördela dem på flera konton eller projekt där gränsen gäller per konto. Sätt upp en extra CA i förväg och lägg till den i era CAA-poster, så att ni kan byta utan att vänta.

Domänvalidering

Välj en metod som både CA och klient stöder. Använd DNS-validering för wildcards och interna servrar med offentliga domännamn. Begränsa klientens DNS-behörigheter till valideringen.

http-01: Klienten lägger ett svar på http://<name>/.well-known/acme-challenge/<token>. CA:n hämtar det via port 80. Metoden kan inte validera wildcards. En intern server kan bara använda metoden om ett offentligt tillgängligt HTTP-system besvarar utmaningen för namnet.

dns-01: Klienten skapar en TXT-post på _acme-challenge.<name>. För *.example.com används _acme-challenge.example.com. CA:n läser offentlig DNS; själva tjänsten kan vara intern. Let’s Encrypt förklarar HTTP- och DNS-validering.

tls-alpn-01: CA:n ansluter till port 443 och begär acme-tls/1 via ALPN. En responder visar ett särskilt, tillfälligt SSL-certifikat som bevis. Er TLS-terminering måste stödja metoden. RFC 8737: tls-alpn-01.

Jämför ACME-validering
MetodInkommande port på tjänstenWildcardIntern serverVad behöver ni köra?
http-0180NejBara med offentlig HTTP-responderKlient med åtkomst till webroot eller HTTP-responder
dns-01Ingen; CA:n frågar offentlig DNSJaJa, med offentligt DNS-namnKlient med DNS-plugin och begränsad DNS-API-behörighet
tls-alpn-01443NejBara med offentlig TLS-responderKlient/responder med acme-tls/1 i TLS-termineringen
dns-persist-01Ingen; CA:n frågar offentlig DNSJa, med CA:ns policyJa, med offentligt DNS-namnKompatibel klient, ACME-kontonyckel och beständig TXT-post
Valideringsförloppet i ACME

Klienten publicerar beviset. CA:n kontrollerar det. Installation följer efter utfärdandet.

Valideringsförloppet i ACME Klienten beställer hos CA:n och publicerar ett challenge-svar. CA:n läser svaret via HTTP, DNS eller TLS. Efter godkännande skickar klienten en CSR och hämtar SSL-certifikatet. 1 Klient → CA: order 2 Klient: publicera svar 3 CA: kontrollera svaret 4 CSR → SSL-certifikat

Begränsa DNS-API-behörigheten med en valideringszon

DNS-plugin använder API-uppgifter för att skapa och ta bort TXT-poster. Med en klient på varje server får varje server DNS-behörighetsuppgifter. En läckt nyckel kan ändra allt som behörigheterna tillåter. Ge därför inte klienten åtkomst till hela domänens zon.

Skapa en separat valideringszon (challenge zone). Gör en CNAME-vidarebefordran från _acme-challenge till ett namn i valideringszonen och ge klienten skrivbehörighet bara där. CA:n följer CNAME till TXT-posten. Klienten eller DNS-plugin måste också kunna skriva till målet; en CNAME flyttar inte automatiskt klientens API-anrop. Varje SAN-namn kan behöva en egen vidarebefordran.

DNS-validering i en valideringszon (challenge zone)

CNAME ligger kvar i domänens zon. Klienten skriver challenge-värden bara i valideringszonen.

DNS-validering i en valideringszon (challenge zone) Domänens _acme-challenge är en CNAME till en TXT-post i acme.example.net. Klienten har API-skrivbehörighet bara i valideringszonen. CA:n följer CNAME och läser TXT. Domänens zon _acme-challenge.example.com CNAME Valideringszon (challenge zone) example-com.acme.example.net TXT Skrivbehörighet bara här ACME-klient
DNS-exempel: CNAME och TXT i separata zoner

Den första posten ligger i example.com. Den andra ligger i valideringszonen acme.example.net. Byt ut namnen och låt klienten ange aktuellt challenge-värde. CNAME ligger kvar; TXT-värdet ändras vid nya dns-01-valideringar.

_acme-challenge.example.com. 300 IN CNAME example-com.acme.example.net.
example-com.acme.example.net. 300 IN TXT "<challenge-value>"

dns-persist-01 hos Google

dns-persist-01 använder en beständig TXT-post på _validation-persist som knyter domänen till CA:n och ACME-kontot, så att klienten inte behöver skriva ett nytt TXT-värde vid varje förnyelse. IETF-utkastet är i version -02 från 2026-09-20. Google Trust Services stöder det i dag och kräver EAB. Let’s Encrypt har det inte än, men det är planerat. GlobalSign har det planerat till 2027. ZeroSSL och Sectigo ACME stöder det inte. Följ Googles dns-persist-01-format och krav på klienten.

Posten är bunden till ett ACME-konto. Har varje server sin egen ACME-klient och sitt eget konto behöver domänen en TXT-post per server under _validation-persist. Delar servrarna ett konto räcker en post, men då kan alla servrar utfärda för alla domänerna och återkalla alla certifikaten. Skapa aldrig ett nytt konto på en server som redan använder dns-persist-01. Byt nyckeln i stället, så att posten fortsätter att gälla. Google: ACME-konton och dns-persist-01

Hos FairSSL fungerar dns-persist med DigiCert-certifikaten och kräver ert eget DigiCert-konto; på det gemensamma kontot validerar AutoDNS i stället. Läs mer i dns-persist-01 med DigiCert: en DNS-post, och alla namn är godkända i förväg och dns-persist-01 i sslbrain: inga DNS-nycklar på servrarna. För klassisk dns-01 kan ni följa vår guide till DNS-plugin och ACME DNS-validering.

Konfiguration, klient och ARI

Välj förnyelsetidpunkt, nyckeltyp och SAN-namn efter systemen som ska använda SSL-certifikatet. Testa mot staging och skapa ett schemalagt jobb med installation efter lyckad förnyelse.

Ta bara med de SAN-namn som tjänsten behöver. Välj RSA eller ECDSA efter klienternas och tjänstens stöd. Låt en aktuell ACME-klient följa ARI och kontrollera dess förnyelsejobb. Ett fast kalenderdatum passar inte nödvändigtvis nästa SSL-certifikats giltighetstid.

SSL-certifikatens giltighetstid blir kortare. Tidslinjen visar samma giltighetstider som resten av webbplatsen: högst 199 dagar nu och 99 dagar senast 2027-03-15. DigiCert byter 2027-02-24. Gratis CA:er kan utfärda SSL-certifikat med kortare giltighetstid. Manuell förnyelse är ingen driftsplan.

2026-03-15 · Nu
199 dagar
2027-03-15
99 dagar
2029-03-15
46 dagar

ARI ger ett rekommenderat förnyelsefönster, även när en CA vill ha tidig förnyelse. Klienterna här dokumenterar ARI-stöd. Våra guider visar klientkonfiguration; anpassa CA-adress och EAB när ni använder en gratis CA.

win-acme eller simple-acme?

simple-acme är en fortsättning från samma utvecklare och beskrivs som en bakåtkompatibel ersättare för win-acme. Projektets egen förklaring och installationsguiden med wacs.exe beskriver övergången. Använd vår simple-acme-guide för SSL-certifikat i Windows.

Posh-ACME: vad styr förnyelsetidpunkten?

Sökningen “renewaldays posh-acme” blandar klienternas inställningar. RenewalDays är en win-acme/simple-acme-inställning, inte en parameter till Submit-Renewal. Posh-ACME använder orderns RenewAfter. ARI kan uppdatera tidpunkten när CA:n stöder det. Posh-ACME kontrollerar RenewAfter före förnyelse.

Schemalägg Submit-Renewal regelbundet under samma användare och konfiguration som vid installationen. Ett jobb startar inte av sig självt när RenewAfter har nåtts. -Force kringgår tidskontrollen och bör inte användas som normal förnyelseplan. Se dokumentationen för Submit-Renewal och Windows-konfiguration med schemalagda ACME-jobb.

Kommandon mot Let’s Encrypt staging

Installera klienten först. Byt ut example.com, e-postadress och sökvägar mot era egna. HTTP-exemplen kräver en befintlig webroot som nås på port 80; använd en testserver. Staging utfärdar SSL-certifikat utan offentlig tillit. Spara dem separat och bind dem inte till produktion.

simple-acme · PowerShell · http-01

Kör från installationsmappen. Den befintliga webroot måste kunna visa challenge-filer. PEM-filerna sparas i testmappen; --installation none ändrar inga IIS-bindningar.

New-Item -ItemType Directory -Force C:\acme-staging
.\wacs.exe --source manual --host example.com --validation filesystem --webroot C:\inetpub\wwwroot --store pemfiles --pemfilespath C:\acme-staging --installation none --baseuri https://acme-staging-v02.api.letsencrypt.org/ --accepttos --emailaddress admin@example.com
Certbot · shell · http-01

certonly hämtar SSL-certifikatet utan att installera det. Testkonfiguration, arbetsfiler och loggar sparas separat.

sudo certbot certonly --webroot -w /var/www/html -d example.com \
  --server https://acme-staging-v02.api.letsencrypt.org/directory \
  --config-dir /etc/letsencrypt-staging --work-dir /var/lib/letsencrypt-staging \
  --logs-dir /var/log/letsencrypt-staging --agree-tos --email admin@example.com
lego v4 · shell · http-01

Exemplet använder lego v4:s dokumenterade flaggor och en separat mapp. Klienten skriver challenge-filen i er befintliga webroot.

lego --server https://acme-staging-v02.api.letsencrypt.org/directory \
  --path ./lego-staging --email admin@example.com --accept-tos \
  --domains example.com --http --http.webroot /var/www/html run
acme.sh · shell · http-01

Välj CA uttryckligen. letsencrypt_test väljer staging. Använd senare --install-cert och en lämplig --reloadcmd för produktion; tjänsten ska inte läsa direkt från klientens interna lagring.

acme.sh --register-account --server letsencrypt_test --config-home ./acme-staging --accountemail admin@example.com
acme.sh --issue --server letsencrypt_test --config-home ./acme-staging \
  -d example.com --webroot /var/www/html
Posh-ACME · PowerShell · dns-01

Exemplet kräver DNS hos Cloudflare och en API-token med Zone:DNS:Edit för den aktuella zonen. Ange token vid prompten. Välj respektive plugin för andra DNS-leverantörer. Submit-Renewal kan hoppa över en order som ännu inte behöver förnyas.

Set-PAServer LE_STAGE
$pArgs = @{ CFToken = (Read-Host 'Cloudflare API token' -AsSecureString) }
New-PACertificate example.com -AcceptTOS -Contact admin@example.com -Plugin Cloudflare -PluginArgs $pArgs
Get-PAOrder | Select-Object MainDomain, RenewAfter
Submit-Renewal

När staging fungerar skapar ni en separat produktionskonfiguration hos Let’s Encrypt. Använd CA:ns produktionsadress i klienten, eller letsencrypt i acme.sh och LE_PROD i Posh-ACME. Testa det schemalagda jobbet och installationsskriptet med de behörigheter de får i drift.

Installation av SSL-certifikatet

Installera SSL-certifikat, certifikatkedja och privat nyckel där tjänsten förväntar sig dem. Läs in konfigurationen igen eller starta om tjänsten efter behov och kontrollera det SSL-certifikat den faktiskt visar.

Ett lyckat ACME-jobb bevisar inte att installationen lyckades. Använd klientens installationsfunktion eller ett skript efter förnyelse. Anpassa filformat, behörigheter och bindningar efter guiden för er server eller appliance.

Övervakning av SSL-certifikat

Håll en förteckning över SSL-certifikat, namn, servrar och ansvariga. Övervaka både förnyelsejobbet och det SSL-certifikat tjänsten faktiskt visar. Skicka fel till någon som kan agera.

Let’s Encrypt slutade skicka e-post om utgångsdatum 4 juni 2025. Ett jobb kan förnya korrekt medan en tjänst fortfarande använder en gammal fil eller bindning. Kontrollera därför giltighet och namn på varje destination.

Kontrollera SSL-certifikatet som tjänsten visar

Kör från ett nätverk som når tjänsten. Använd rätt värdnamn som SNI. Granska namn, certifikatkedja och giltighet i svaret; den manuella kontrollen ersätter inte löpande övervakning.

openssl s_client -connect example.com:443 -servername example.com -showcerts </dev/null
openssl s_client -connect example.com:443 -servername example.com </dev/null | openssl x509 -noout -subject -issuer -dates -ext subjectAltName

Ett gratis FairSSL-konto ger CT-loggövervakning av era domäner utan agent eller installation. Aktivera utgångsvarningar för de upptäckta SSL-certifikaten. CT-loggar visar utfärdanden, inte vad varje server använder; ett nytt SSL-certifikat för samma namn kan ersätta det gamla i övervakningen. Behåll därför även kontrollen av varje tjänst.

Felsökning och planen när något går sönder

Bestäm vem som reagerar på fel och hur ni rättar DNS, behörigheter, klienter och installationer. Spara loggar där de ansvariga kan läsa dem, även när servern inte svarar.

Om ett namn i ett SAN-SSL-certifikat inte längre kan valideras kan förnyelsen misslyckas för hela SSL-certifikatet. Ta bort namn ni inte längre använder och kontrollera alla namn efter domänändringar. Ha en plan för att utfärda och installera igen från en fungerande dator.

“domain validation failed (dns01)”

  • Läs exakt namn och förväntat TXT-värde i klientens logg. Fråga alla auktoritativa namnservrar; er lokala resolver kan ge ett cachelagrat svar.
  • Kontrollera DNS-propagering och TTL. Vänta tills ändringen syns hos de auktoritativa servrarna och gamla cachelagrade svar har löpt ut innan ni försöker igen.
  • Följ CNAME till rätt zon. Kontrollera att DNS-plugin skriver i målzonen, inte i en privat DNS-zon eller på fel namn.
  • Rensa gamla TXT-värden. Behåll värden som andra aktiva valideringar använder; samtidiga ordrar kan kräva olika värden på samma namn.
  • Kontrollera CAA och issuewild för vald CA. Vid rate limits ska ni följa felets angivna tid för nästa försök och felsöka i staging. Upprepade försök rättar inte en felaktig DNS-post.
Slå upp CNAME, TXT och CAA med dig / nslookup

Använd de verkliga auktoritativa namnservrarna från NS-uppslaget i stället för ns1.example.com och ns1.example.net och upprepa mot var och en. Exemplet följer valideringszonen ovan. Utan CNAME frågar ni direkt efter TXT på _acme-challenge.example.com.

dig +short NS example.com
dig @ns1.example.com _acme-challenge.example.com CNAME +noall +answer
dig +short NS acme.example.net
dig @ns1.example.net example-com.acme.example.net TXT +noall +answer
nslookup -type=TXT example-com.acme.example.net ns1.example.net
dig @ns1.example.com example.com CAA +noall +answer

När http-01 misslyckas

Kontrollera port 80 i brandvägg och NAT och att A/AAAA pekar på rätt server. Kontrollera att webroot hör till rätt värdnamn. Prova challenge-URL:en utifrån med aktuell token medan valideringen väntar. Omdirigeringar får inte leda CA:n till inloggning, fel sökväg eller en otillgänglig värd. Let’s Encrypt beskriver tillåtna omdirigeringar.

Undersök HTTP-svar och omdirigeringar

Byt ut TOKEN mot filnamnet från klientens logg. Det första kommandot visar det första svaret; det andra följer omdirigeringar. Innehållet ska vara förväntat challenge-svar, inte en HTML-felsida.

curl -v --max-time 15 http://example.com/.well-known/acme-challenge/TOKEN
curl -vL --max-redirs 10 --max-time 30 http://example.com/.well-known/acme-challenge/TOKEN

Dokumentera varje servers konfiguration

Skriv ned klient och version, CA och ACME-konto, valideringsmetod, DNS-zon, förnyelsejobb, sökvägar och installationskommandon. Notera också var den privata nyckeln finns och vem som har åtkomst.

Ta en skyddad säkerhetskopia av ACME-kontonyckeln och nödvändig konfiguration. Kontonyckeln är inte SSL-certifikatets privata nyckel. Notera ansvarig, larm och återställningsprocedur. De ansvariga ska kunna hitta dokumentationen och återställa konfigurationen.

Frågor om gratis SSL-certifikat och ACME

Kan jag få gratis SSL-certifikat med ACME?

Ja. Let’s Encrypt, Google Trust Services, ZeroSSL och Actalis erbjuder gratis ACME-utfärdande med olika krav. Ni behöver fortfarande sköta förnyelse, installation och övervakning.

Kan ACME användas för en intern server?

Ja, med ett offentligt domännamn och offentlig DNS-validering. dns-01 kräver ingen inkommande port på tjänsten. http-01 och tls-alpn-01 kräver en offentligt tillgänglig responder.

Vad är skillnaden mellan win-acme och simple-acme?

simple-acme är en fortsättning från samma utvecklare. Projektet beskriver det som en bakåtkompatibel ersättare för win-acme. Läs projektets installationsdokumentation och vår Windows-guide före övergången.

Styr RenewalDays förnyelsen i Posh-ACME?

Nej. Posh-ACME kontrollerar orderns RenewAfter vid Submit-Renewal. ARI kan uppdatera tidpunkten. Ni behöver själva schemalägga körningen; -Force kringgår tidskontrollen. RenewalDays är en inställning i win-acme/simple-acme.

Varför misslyckas dns-01-validering?

Kontrollera TXT-värdet hos de auktoritativa namnservrarna, DNS-propagering och TTL, CNAME-målet, pluginens zon och gamla TXT-poster. Kontrollera också CAA och CA:ns rate limits. Använd klientens logg för att hitta namnet som misslyckas.

Räcker CT-loggövervakning för att hitta ett utgånget SSL-certifikat?

Nej. CT-loggar visar utfärdanden. De visar inte vilket SSL-certifikat tjänsten faktiskt använder. Övervaka både förnyelsejobbet och SSL-certifikatet på varje destination.

Källor och officiell dokumentation

Senast uppdaterad:

Se de andra vägarna till automatisering av SSL-certifikat