ACME-validering: HTTP-01, DNS-01 och TLS-ALPN-01
ACME-protokollet (RFC 8555) definierar tre metoder för att bevisa domänkontroll. Guiden förklarar när du ska använda vilken metod, vad som påverkar säkerheten och hur CNAME-vidarebefordran och FairSSL AutoDNS gör konfigurationen enklare.
Tre valideringsmetoder
När du beställer ett certifikat via ACME måste CA:n verifiera att du kontrollerar domänen. Det sker via en av tre challenge-typer. CA:n skickar en challenge, din ACME-klient besvarar den, och CA:n verifierar svaret.
| Metod | Vad som bevisas | Port | Wildcard | Bakom brandvägg |
|---|---|---|---|---|
| HTTP-01 | HTTP-åtkomst till domänen | 80 (TCP) | Nej | Nej |
| DNS-01 | Kontroll över DNS-zonen | Ingen | Ja | Ja |
| TLS-ALPN-01 | TLS-kontroll över domänen | 443 (TCP) | Nej | Nej |
HTTP-01: fil på port 80
CA:n ger din ACME-klient ett token. Klienten lägger en fil med token-värdet under
http://ert-doman/.well-known/acme-challenge/TOKEN. CA:n hämtar filen via HTTP (port 80) och verifierar innehållet.
Så fungerar det
- 1 ACME-klienten begär ett certifikat för
www.example.se - 2 CA:n returnerar ett token (slumpmässig sträng)
- 3 Klienten lägger filen under
/.well-known/acme-challenge/ - 4 CA:n hämtar
http://www.example.se/.well-known/acme-challenge/TOKEN - 5 Stämmer innehållet utfärdas certifikatet.
Viktiga begränsningar
Inga omdirigeringar. CA:n följer inte omdirigeringar från HTTP till HTTPS under valideringen. Om IIS eller Nginx omdirigerar all trafik från port 80 till 443 misslyckas valideringen. Undanta sökvägen /.well-known/acme-challenge/ från omdirigeringsreglerna.
Alla SAN-namn måste svara. Har certifikatet 5 domännamn (SAN) måste alla 5 besvara HTTP-01 från samma server. Pekar ett av namnen någon annanstans misslyckas hela valideringen.
Lastbalanserare. Bakom en lastbalanserare måste filen finnas på alla backend-servrar, eller så måste lastbalanseraren skicka /.well-known/acme-challenge/ till den server som kör ACME-klienten.
HTTP-01 är den enklaste metoden när en enda server svarar för domänen och port 80 är öppen. I alla andra fall rekommenderar vi DNS-01.
DNS-01: TXT-post i DNS
DNS-01 är den mest flexibla valideringsmetoden. ACME-klienten skapar en TXT-post _acme-challenge.ert-doman
i er DNS-zon. CA:n slår upp posten via DNS och verifierar innehållet. Inga portar behöver öppnas, och servern behöver inte exponeras mot internet.
Så fungerar DNS-01
- 1 ACME-klienten begär ett certifikat och tar emot ett token från CA:n
- 2 Klienten beräknar en SHA-256-hash av token och kontonyckeln (account key)
- 3 Klienten skapar TXT-posten:
_acme-challenge.example.se TXT "hashat-token-värde" - 4 CA:n slår upp posten i DNS (från flera geografiska platser via MPIC)
- 5 Stämmer TXT-posten utfärdas certifikatet, och klienten tar bort TXT-posten.
Exempel: DNS-01-uppslag
# Kontrollera om TXT-posten har skapats korrekt nslookup -type=TXT _acme-challenge.example.se _acme-challenge.example.se text = "gfj9Xq...Rg85nM" # På Linux och macOS dig TXT _acme-challenge.example.se +short "gfj9Xq...Rg85nM"
TTL och propagering
TXT-posten måste ha nått CA:ns DNS-resolvrar innan valideringen kan genomföras. Med kort TTL syns nya värden snabbare, och gamla värden försvinner snabbare efter valideringen.
Rekommendation: Sätt TTL för _acme-challenge-poster till högst 60 sekunder.
De flesta ACME-klienter väntar 30 sekunder efter att posten har skapats (kan ändras). När certifikat från 15 mars 2029
bara är giltiga i 47 dagar sker valideringen oftare, och en kort TTL ger snabb propagering varje gång.
CNAME-vidarebefordran i DNS (FairSSL AutoDNS)
Utan vidarebefordran kräver DNS-01 att ACME-klienten har full åtkomst till ert DNS-API. Det innebär API-nycklar till er primära DNS-leverantör på varje server som ska förnya certifikat. Om en server komprometteras kan angriparen ändra alla DNS-poster för er domän.
CNAME-vidarebefordran tar bort den risken. Ni skapar en CNAME-post som pekar _acme-challenge
mot en separat zon som bara används för certifikatvalidering. Servern har bara åtkomst till den zonen,
inte till er primära DNS. Med FairSSL AutoDNS
behöver ni inte ens driva den zonen själva, eftersom FairSSL gör det åt er.
Så fungerar det
CA:n följer CNAME-kedjan automatiskt. Den slår upp _acme-challenge.ert-doman,
hittar CNAME-posten, följer den till valideringszonen och läser TXT-posten där. Utöver den permanenta
CNAME-posten används inte er primära DNS-zon.
Exempel: CNAME-vidarebefordran
1. Skapa CNAME-posten (görs en gång i er DNS)
_dnsauth.example.se CNAME ditt-unika-id.autodns.fairssl.dk.
2. Vid validering skapar FairSSL TXT-posten
ditt-unika-id.autodns.fairssl.dk TXT "valideringstoken"
3. CA:n följer kedjan
# CA:n slår upp: _acme-challenge.example.se # → CNAME → ditt-unika-id.autodns.fairssl.dk # → TXT "hashat-token" ✓
Fördelar med vidarebefordran
- Inga nycklar till DNS-API:et på servern
- En komprometterad server kan inte ändra er DNS
- Fungerar med alla DNS-leverantörer (även de som saknar API)
- CNAME-posten skapas en gång, resten sker automatiskt
FairSSL AutoDNS
FairSSL AutoDNS är CNAME-vidarebefordran som en tjänst som FairSSL driver. Ni skapar en CNAME-post, och FairSSL hanterar alla TXT-poster automatiskt vid varje validering. Inga skript, inga API-nycklar och ingen manuell konfiguration.
acme-dns: ett alternativ som ni driver själva
acme-dns är ett projekt med öppen källkod där ni kör er egen valideringszon. Simple-acme, Lego och Certbot har inbyggt stöd för acme-dns. Ni ansvarar då själva för drift och övervakning av DNS-servern.
TLS-ALPN-01: certifikat på port 443
TLS-ALPN-01 (RFC 8737) är den nyaste valideringsmetoden. ACME-klienten visar upp ett självsignerat certifikat med ett särskilt ALPN-tillägg på port 443. CA:n upprättar en TLS-anslutning och verifierar certifikatet.
Metoden togs fram som ersättning för den ursprungliga TLS-SNI-metoden, som drogs tillbaka 2018 på grund av säkerhetsproblem i delade webbhotellsmiljöer.
Används sällan i praktiken. TLS-ALPN-01 kräver att ACME-klienten tillfälligt tar över port 443. Oftast måste webbservern då stoppas under valideringen, vilket ger driftstopp. I simple-acme används selfhosting-läget, som binder port 443 direkt. Metoden används främst på servrar där port 80 är blockerad av en policy men port 443 är öppen. I andra fall är DNS-01 oftast ett bättre val.
Vilken metod ska jag använda?
En webbserver, port 80 öppen
Använd HTTP-01 om servern redan är tillgänglig från internet på port 80.
Det är den enklaste konfigurationen. Alla SAN-namn i certifikatet måste peka på servern,
och regler som omdirigerar HTTP till HTTPS måste undanta /.well-known/acme-challenge/.
En omdirigering på den sökvägen får valideringen att misslyckas.
Bakom brandvägg eller lastbalanserare, eller wildcardcertifikat
Använd DNS-01. Inga portar behöver öppnas, och metoden fungerar oavsett brandväggskonfiguration. Med FairSSL AutoDNS behöver ni inte ens åtkomst till ett DNS-API.
Flera servrar eller webbfarm
Använd DNS-01. HTTP-01 kräver att varje server kan leverera challenge-filen, vilket är besvärligt i en webbfarm. DNS-01 med CNAME-vidarebefordran körs från en central server.
Nätverksutrustning (brandväggar, lastbalanserare)
Använd DNS-01 från en befintlig server. Nätverksenheter kan inte köra ACME-klienter, så en central server sköter valideringen och installerar certifikaten via API eller skript. Under ACME-klienter finns förslag på hur det kan byggas upp.
Port 80 blockerad, port 443 öppen, ingen DNS-åtkomst
Använd TLS-ALPN-01. Situationen är ovanlig, men metoden är det enda alternativet när HTTP inte går att nå och CNAME-vidarebefordran inte är möjlig.
Felsökning av valideringsproblem
DNS-01: "Timeout waiting for DNS propagation"
CA:n ser ännu inte TXT-posten. Kontrollera manuellt med nslookup -type=TXT _acme-challenge.ert-doman 8.8.8.8
(använd en extern DNS-resolver, inte er lokala). Vanliga orsaker: för hög TTL på befintliga poster, en DNS-leverantör med långsam propagering
eller en felaktig zonfil. Öka DnsPropagationDelay i klientens konfiguration.
DNS-01: "Incorrect TXT record" (CNAME-vidarebefordran)
CNAME-posten pekar fel. Kontrollera med nslookup -type=CNAME _acme-challenge.ert-doman. Svaret ska vara rätt
mål. En CNAME-post kan inte finnas tillsammans med andra poster på samma namn. Har ni redan en TXT-post
på _acme-challenge tar ni bort den innan ni skapar CNAME-posten.
HTTP-01: "Invalid response from [domän]"
CA:n kan inte hämta challenge-filen. Möjliga orsaker: en brandvägg blockerar port 80,
domänen pekar på fel IP-adress (ofta efter en DNS-ändring) eller webbservern returnerar en felsida i stället för challenge-filen.
Testa lokalt: curl -v http://ert-doman/.well-known/acme-challenge/test.
HTTP-01: Omdirigering på challenge-sökvägen
Webbservrar har ofta en global omdirigering från HTTP till HTTPS. Den fångar även anrop till
/.well-known/acme-challenge/, och CA:n avvisar omdirigeringar på challenge-sökvägen.
Se till att er omdirigeringsregel undantar den sökvägen. I IIS: lägg till ett villkor (condition) i URL Rewrite.
I Nginx: placera blocket location /.well-known/acme-challenge/ före omdirigeringsregeln.
HTTP-01: Alla SAN-namn valideras inte
HTTP-01 validerar varje SAN-namn för sig. Om certifikatet innehåller ditt-doman.se
och www.ditt-doman.se måste båda namnen svara på port 80 med challenge-filen.
Omdirigerar www till apex-domänen (eller tvärtom) misslyckas valideringen för det namnet.
Använd DNS-01 i stället om alla SAN-namn inte pekar på samma server.
En CAA-post blockerar utfärdandet
Ett felmeddelande som nämner "CAA" betyder att era CAA-poster inte tillåter den CA som utfärdar certifikatet.
Certifikat via FairSSLs ACME-server utfärdas av DigiCert (digicert.com) och GlobalSign (globalsign.com), och det är de CA:erna era CAA-poster måste tillåta. Vi säljer även certifikat från Sectigo (sectigo.com), men de kan ännu inte utfärdas via vår ACME-server.
Använd vår CAA Record Generator
för att skapa korrekta poster. Har ni inga CAA-poster är alla CA:er tillåtna.
MPIC-fel: valideringen lyckas från en plats men inte från andra
Sedan mars 2025 verifierar CA:erna domänkontrollen från flera geografiska platser (MPIC). Om DNS eller HTTP svarar korrekt från en plats men inte från andra kan det bero på geo-DNS, en CDN-konfiguration som blockerar vissa regioner eller asymmetrisk routning. Se till att valideringssvaret går att nå från hela världen, inte bara från ert lokala nätverk.
Relaterade sidor
FairSSL AutoDNS
Automatisk DNS-validering med en permanent CNAME-post. Inga nycklar till DNS-API:et.
Guide till simple-acme
Guide för Windows med DNS-validering, IIS och Task Scheduler.
CAA Record Generator
Skapa CAA-poster som styr vilka CA:er som får utfärda certifikat för domänen.
ACME-klienter
Jämförelse av de ACME-klienter vi rekommenderar, med stöd för DNS-validering.
Domänvalidering
Domänvalidering utan ACME för DV-certifikat: e-post, TXT-post i DNS eller HTTP-fil.
Vad är SSL?
Certifikatkedjor, CAA-poster, HSTS och andra säkerhetsåtgärder.
Vanliga frågor om ACME-validering
Hitta svar på de vanligaste frågorna om SSL-certifikat och FairSSL.
_acme-challenge.ert-doman mot en valideringstjänst (t.ex. FairSSL AutoDNS eller acme-dns). Servern ändrar aldrig er DNS-zon direkt, så inte ens en komprometterad server kan ändra era DNS-poster.dig CAA ert-doman och se till att de CA:er som utfärdar via FairSSLs ACME-server (DigiCert och GlobalSign) är tillåtna. Använd vår CAA Record Generator för att skapa korrekta poster.Kom igång med SSL-automatisering
Skapa ett gratis konto och beställ ditt första certifikat. Ett DV-certifikat utfärdas på under 2 minuter.