SSL-certifikatens maximala livslängd reduceras till 200 dagar från mars 2026. Läs mer →

ACME-validering: HTTP-01, DNS-01 och TLS-ALPN-01

ACME-protokollet (RFC 8555) definierar tre metoder för att bevisa domänkontroll. Den här guiden förklarar när man använder vilken, säkerhetsöverväganden, och hur DNS-delegering och FairSSL AutoDNS förenklar uppsättningen.

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 bevisas Port Wildcards Bakom brandvägg
HTTP-01 HTTP-åtkomst till domänen 80 (TCP) Nej Nej
DNS-01 Kontroll över DNS-zon 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 placerar en fil med tokenet 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. 1 ACME-klienten begär ett certifikat för www.example.se
  2. 2 CA:n returnerar ett token (slumpmässig sträng)
  3. 3 Klienten placerar filen under /.well-known/acme-challenge/
  4. 4 CA:n hämtar http://www.example.se/.well-known/acme-challenge/TOKEN
  5. 5 Innehållet stämmer? Certifikatet utfärdas.

Viktiga begränsningar

Inga redirects. CA:n följer inte HTTP-till-HTTPS-redirects under validering. Om IIS eller Nginx omdirigerar all trafik från port 80 till 443 misslyckas valideringen. Avaktivera redirect-regler för /.well-known/acme-challenge/-sökvägen.

Alla SAN-namn måste svara. Har certifikatet 5 domännamn (SAN), måste alla 5 besvara HTTP-01 från samma server. Ett domän som pekar någon annanstans, och hela valideringen misslyckas.

Load balancers. Bakom en load balancer måste filen vara tillgänglig på alla backend-servrar, eller så måste load balancern dirigera /.well-known/acme-challenge/ till den server som kör ACME-klienten.

HTTP-01 är den enklaste metoden för single-server-uppsättningar där port 80 är tillgänglig. För allt annat 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. 1 ACME-klienten begär certifikat och tar emot ett token från CA:n
  2. 2 Klienten beräknar en SHA-256-hash av tokenet och account key
  3. 3 Klienten skapar TXT-posten: _acme-challenge.example.se TXT "hashat-token-värde"
  4. 4 CA:n gör DNS-uppslag (från flera geografiska platser via MPIC)
  5. 5 TXT-posten stämmer? Certifikatet utfärdas. Klienten städar upp (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/Mac
dig TXT _acme-challenge.example.se +short
"gfj9Xq...Rg85nM"

TTL och propagation

TXT-posten måste propagera till CA:ns DNS-resolvers innan valideringen kan genomföras. Kort TTL ger snabbare propagation och snabbare uppstädning efter validering.

Rekommendation: Sätt TTL på _acme-challenge-poster till 60 sekunder eller lägre. De flesta ACME-klienter väntar 30 sekunder efter skapandet (konfigurerbart). Med 47-dagars certifikat från 2029 sker validering oftare, och kort TTL säkerställer snabb propagation varje gång.

DNS CNAME-delegering (FairSSL AutoDNS)

Utan delegering kräver DNS-01 att ACME-klienten har full åtkomst till er 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 har angriparen åtkomst att ändra alla DNS-poster för er domän.

CNAME-delegering eliminerar den risken. Ni skapar en CNAME-post som pekar _acme-challenge till en separat valideringszon, dedikerad till certifikatvalidering. Servern har bara åtkomst till den zonen, inte till er primära DNS. Med FairSSL AutoDNS behöver ni inte ens den zonen: FairSSL hanterar den åt er.

Hur det fungerar

CA:n följer CNAME-kedjan automatiskt. Den slår upp _acme-challenge.ert-doman, ser CNAME:en, följer den till valideringszonen, och hittar TXT-posten där. Er primära DNS-zon är aldrig involverad utöver den enda permanenta CNAME:en.

Exempel: CNAME-delegering

1. Skapa CNAME (engångsuppsättning 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 delegering

  • Inga DNS API-nycklar på servern
  • Komprometterad server kan inte ändra er DNS
  • Fungerar med alla DNS-leverantörer (även dem utan API)
  • CNAME skapas en gång, sedan automatiskt

FairSSL AutoDNS

FairSSL AutoDNS är CNAME-delegering som managed service. Ni skapar en CNAME-post, och FairSSL hanterar alla TXT-poster automatiskt vid varje validering. Inga scripts, inga API-nycklar, ingen manuell uppsättning.

acme-dns: self-hosted alternativ

acme-dns är ett open source-projekt som kör er egen valideringszon. Simple-acme, Lego och Certbot har alla inbyggt acme-dns-stöd. Nackdelen är att ni själva ansvarar 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 presenterar ett självsignerat certifikat med en speciell ALPN-extension på port 443. CA:n upprättar en TLS-anslutning och verifierar certifikatet.

Metoden introducerades som alternativ till den ursprungliga TLS-SNI challenge, som drogs tillbaka 2018 på grund av säkerhetsproblem med delade hostingmiljöer.

Begränsad användning i praktiken. TLS-ALPN-01 kräver att ACME-klienten tillfälligt kontrollerar port 443. Det innebär typiskt att webbservern måste stoppas under validering, vilket ger driftstopp. I simple-acme används selfhosting-mode, som binder port 443 direkt. Huvudanvändningen är servrar där port 80 är blockerad av policy, men port 443 är tillgänglig. I de flesta scenarier är DNS-01 ett bättre val.

Vilken metod ska jag använda?

1.

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 uppsättningen. Observera att alla SAN-namn i certifikatet måste peka på servern, och att HTTP-till-HTTPS-redirect-regler måste undanta /.well-known/acme-challenge/. Otillåtna redirects på den sökvägen får valideringen att misslyckas.

2.

Bakom brandvägg, load balancer, eller wildcard

Använd DNS-01. Inga portar nödvändiga, fungerar bakom alla brandväggskonfigurationer. Med FairSSL AutoDNS behöver ni inte ens DNS API-åtkomst.

3.

Flera servrar / webbfarm

Använd DNS-01. HTTP-01 kräver att alla servrar serverar challenge-filen, vilket är besvärligt i en webbfarm. DNS-01 med CNAME-delegering körs från en central server.

4.

Nätverksutrustning (brandväggar, load balancers)

Använd DNS-01 från en befintlig server. Nätverksenheter kan inte köra ACME-klienter, så en central server hanterar validering och distribuerar certifikat via API/script. Se ACME-klienter för uppsättningsstrategi.

5.

Port 80 blockerad, port 443 tillgänglig, ingen DNS-åtkomst

Använd TLS-ALPN-01. Ovanligt scenario, men det enda valet när HTTP är otillgängligt och DNS-delegering inte är möjlig.

Felsökning av valideringsproblem

DNS-01: "Timeout waiting for DNS propagation"

TXT-posten är inte synlig för CA:n ännu. Kontrollera manuellt med nslookup -type=TXT _acme-challenge.ert-doman 8.8.8.8 (använd en extern DNS-resolver, inte er lokala). Typiska orsaker: för högt TTL på befintliga poster, DNS-leverantör med långsam propagation, eller felaktig zonfil. Öka DnsPropagationDelay i klientens konfiguration.

DNS-01: "Incorrect TXT record" (CNAME-delegering)

CNAME-posten pekar fel. Kontrollera: nslookup -type=CNAME _acme-challenge.ert-doman. Den ska returnera rätt delegeringsmål. CNAME kan inte samexistera med andra poster på samma namn. Om ni har en befintlig TXT-post på _acme-challenge, ta bort den innan ni skapar CNAME.

HTTP-01: "Invalid response from [domän]"

CA:n kan inte hämta challenge-filen. Möjliga orsaker: brandvägg blockerar port 80, domänen pekar på fel IP (typiskt efter DNS-ändring), eller webbservern returnerar en felsida istället för challenge-filen. Testa lokalt: curl -v http://ert-doman/.well-known/acme-challenge/test.

HTTP-01: Redirect på challenge-sökvägen

Många webbservrar har en global HTTP-till-HTTPS-redirect. Den fångar även requests till /.well-known/acme-challenge/, och CA:n avvisar redirects på challenge-sökvägen. Se till att er redirect-regel undantar den sökvägen. I IIS: lägg till en URL Rewrite condition. I Nginx: placera location /.well-known/acme-challenge/-blocket före redirect-regeln.

HTTP-01: Inte alla SAN-namn validerar

HTTP-01 validerar varje SAN-namn individuellt. Om certifikatet innehåller ditt-doman.se och www.ditt-doman.se, måste båda namnen svara på port 80 med challenge-filen. Om www redirectar till apex-domänen (eller tvärtom), misslyckas valideringen för det namnet. Använd DNS-01 istället om ni har SAN-namn som inte alla pekar på samma server.

CAA-post blockerar

Felmeddelande som nämner "CAA" innebär att era CAA DNS-poster inte tillåter den CA som utfärdar certifikatet. FairSSL använder DigiCert (digicert.com), GlobalSign (globalsign.com) och Sectigo (sectigo.com). Använd vår CAA Record Generator för att generera korrekta poster. Har ni inga CAA-poster är alla CA:er tillåtna.

MPIC-fel: validering från en plats, men inte andra

Från mars 2025 verifierar CA:er 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, CDN-konfiguration som blockerar vissa regioner, eller asymmetrisk routing. Se till att valideringssvaret är tillgängligt globalt, inte bara från ert lokala nätverk.

Vanliga frågor om ACME-validering

Hitta svar på de vanligaste frågorna om SSL-certifikat och FairSSL.

Nej. Wildcards kräver DNS-01-validering. Det definieras i RFC 8555 sektion 7.4. Anledningen är att HTTP-01 bara bevisar kontroll över en enskild host, inte hela domänen.
DNS-01 är valideringsmetoden som definieras i ACME-standarden. Det är den tekniska mekanismen där CA:n kontrollerar en TXT-post. FairSSL AutoDNS är en tjänst som hanterar DNS-01 åt er: ni skapar en permanent CNAME, och FairSSL skapar och tar bort TXT-poster automatiskt vid varje validering. Det är DNS-01 under huven, men utan att ni behöver ge DNS API-åtkomst till er server.
Det beror på er DNS-leverantör och TTL-inställningar. De flesta större leverantörer (Cloudflare, Route 53, Azure DNS) propagerar inom 10-30 sekunder. Äldre DNS-tjänster eller registrarer med långa TTL-värden kan ta upp till 5 minuter. Simple-acme väntar 30 sekunder som standard (konfigurerbart via DnsPropagationDelay i settings.json). Vi rekommenderar en TTL på 60 sekunder eller lägre på _acme-challenge-poster.
Ja, via CNAME-delegering. Skapa en CNAME-post som pekar _acme-challenge.ert-doman till en valideringstjänst (t.ex. FairSSL AutoDNS eller acme-dns). Servern rör aldrig er DNS-zon direkt. Även en komprometterad server kan inte ändra era DNS-poster.
CA:n avvisar certifikatbegäran med ett felmeddelande som nämner CAA. Kontrollera era CAA DNS-poster med dig CAA ert-doman och se till att de tillåtna CA:erna inkluderar dem som FairSSL använder (DigiCert, GlobalSign, Sectigo). Använd vår CAA Record Generator för att generera korrekta poster.
Ja, FairSSLs ACME-server stöder alla tre valideringstyper: HTTP-01, DNS-01 och TLS-ALPN-01. De flesta ACME-klienter stöder också TLS-ALPN-01, men det används sällan i praktiken eftersom det kräver tillfällig kontroll över port 443, vilket är opraktiskt på produktionsservrar.
MPIC är ett krav från CA/Browser Forum (SC-067) som gäller från mars 2025. Det innebär att CA:n verifierar domänkontroll från flera geografiskt spridda punkter, inte bara från en server. Syftet är att förhindra BGP hijacking-attacker, där en angripare tillfälligt omdirigerar trafik för att klara domänvalidering. MPIC påverkar inte er uppsättning, men gör valideringen säkrare.

Kom igång med SSL-automatisering

Skapa ett gratis konto och utfärda ditt första certifikat på under 10 minuter.