Kort svar: Et udløbet SSL-certifikat betyder næsten altid, at den automatiske fornyelse har fejlet i flere uger uden at nogen har opdaget det. De hyppigste årsager er, at domænet (A- eller AAAA-record) peger et andet sted hen, at
/.well-known/acme-challenge/er blokeret eller omdirigeret væk, at en CAA-record ikke tillader udstederen, eller at domænet selv er udløbet. Ret årsagen, genudsted certifikatet, og tjek medopenssl, hvilken udløbsdato verden faktisk ser.
Fagligt gennemgået: 2. oktober 2026
Et udløbet certifikat giver en advarselsside i alle browsere, og de fleste besøgende går igen med det samme. Formularer, betaling og API-integrationer holder også op med at virke, fordi andre systemer nægter at forbinde til en server med et ugyldigt certifikat.
Den gode nyhed er, at et nyt certifikat udstedes på under et minut, når årsagen er væk. Opgaven er at finde årsagen – ellers fejler fornyelsen igen om et par måneder.
Før du ændrer noget: Sæt ikke Cloudflares SSL-tilstand til “Flexible” eller installér et selvsigneret certifikat for at få advarslen væk – det skjuler problemet og svækker sikkerheden. Klik heller ikke “genudsted” igen og igen: Let’s Encrypt har grænser for, hvor mange mislykkede valideringer og nye certifikater der må udstedes på kort tid. Find årsagen først.
Læs fejlkoden, før du genudsteder
Browsere viser forskellige fejlkoder, og de peger på forskellige årsager. Et nyt certifikat løser kun den første:
| Fejlkode i browseren | Hvad den betyder | Hvor du leder |
|---|---|---|
| NET::ERR_CERT_DATE_INVALID | Certifikatet er udløbet – eller uret på serveren eller den besøgendes computer går forkert | Fornyelsen (trin 2–5) |
| NET::ERR_CERT_COMMON_NAME_INVALID | Certifikatet er gyldigt, men udstedt til et andet navn | Mangler www. eller et underdomæne i certifikatet? Peger domænet på en anden server? |
| NET::ERR_CERT_AUTHORITY_INVALID | Selvsigneret certifikat, eller mellemcertifikatet mangler | Typisk efter en manuel installation – installér hele kæden |
| ERR_SSL_PROTOCOL_ERROR | Serveren taler ikke HTTPS korrekt på port 443 | Webserverens konfiguration, ikke certifikatet |
| Cloudflare 525 eller 526 | Certifikatet mellem Cloudflare og din server fejler | Afsnittet om Cloudflare nedenfor |
1. Se hvilket certifikat verden faktisk ser
Start med at bekræfte, hvad der rent faktisk serveres. Kør denne kommando fra en terminal (Mac, Linux eller Windows med OpenSSL):
echo | openssl s_client -servername dinside.dk -connect dinside.dk:443 2>/dev/null | openssl x509 -noout -subject -issuer -dates -ext subjectAltName
Du får udsteder, notBefore og notAfter samt de navne, certifikatet dækker. Tre ting kan du aflæse med det samme:
- Er
notAfterpasseret, er certifikatet reelt udløbet. - Er datoen ny, selv om browseren stadig klager, ligger der en gammel kopi i en proxy eller i browserens cache.
- Er udstederen Cloudflare eller et andet CDN, ser du proxyens certifikat – det bagvedliggende skal tjekkes separat.
2. Kontrollér at domænet peger rigtigt – også IPv6
Let’s Encrypt bekræfter, at du kontrollerer domænet, ved at kalde din server. Peger DNS et andet sted hen, mislykkes kontrollen. Tjek både IPv4 og IPv6 for både domænet og www:
dig A ditdomaene.dk +short
dig AAAA ditdomaene.dk +short
dig A www.ditdomaene.dk +short
dig AAAA www.ditdomaene.dk +short
Svarer A-recorden med serverens IP, er IPv4 i orden. Den oversete fejl er en gammel AAAA-record: findes der en IPv6-adresse, forsøger Let’s Encrypt typisk at validere via den. Peger den på et gammelt webhotel, fejler fornyelsen, selv om sitet ser ud til at virke for dig. Fjern AAAA-recorden, eller ret den til den rigtige server.
Er sitet for nylig flyttet, så se når domænet stadig peger på det gamle webhotel.
3. Test at kontrolstien er åben på port 80
Den almindelige valideringsmetode (HTTP-01) henter en fil under http://ditdomaene.dk/.well-known/acme-challenge/ over almindelig HTTP på port 80. Læg en testfil i mappen, og hent den:
curl -i http://ditdomaene.dk/.well-known/acme-challenge/test.txt
Du skal få status 200 og filens indhold – eller en omdirigering til samme fil over HTTPS, som så svarer 200. Let’s Encrypt følger omdirigeringer til HTTP og HTTPS på samme vært, så en almindelig omdirigering fra HTTP til HTTPS er ikke i sig selv et problem. Det fejler, når:
- port 80 er lukket i serverens firewall,
- et sikkerhedsplugin, en WAF eller en regel i
.htaccesssvarer 403 på stien, - en omdirigering sender stien til et andet domæne, en loginside eller forsiden,
- en “vedligeholdelsestilstand” eller et coming soon-plugin fanger alle forespørgsler.
Undtag /.well-known/ i sikkerhedsplugin, firewall og omdirigeringsregler, og slet testfilen bagefter.
4. Tjek CAA-records og domænets status
En CAA-record i DNS fortæller, hvilke udstedere der må lave certifikater til domænet. Er der en CAA-record, der kun nævner en anden udsteder, afviser Let’s Encrypt at udstede – også selv om alt andet er rigtigt:
dig CAA ditdomaene.dk +short
Svarer kommandoen intet, er der ingen begrænsning. Står der fx 0 issue "digicert.com" uden letsencrypt.org, skal Let’s Encrypt tilføjes, eller den gamle record fjernes.
Tjek også, at selve domænet er betalt og aktivt. Er domænet udløbet, svarer DNS ikke, og intet kan valideres. Se når domænet er udløbet.
5. Genudsted, og sørg for at det nye certifikat bliver brugt
Når årsagen er væk, genudsteder du certifikatet – i kontrolpanelet, hvis det har en knap til det, eller med den ACME-klient, serveren bruger. Med Certbot kan du først teste uden at bruge af grænserne og derefter forny:
certbot renew --dry-run
certbot renew
certbot certificates
certbot certificates viser udløbsdatoer for alle certifikater på serveren. Bagefter skal webserveren genindlæses, så den bruger det nye certifikat – ellers serveres den gamle kopi videre, selv om fornyelsen lykkedes. Kør til sidst kommandoen fra trin 1 igen, og kontrollér at notAfter nu ligger ude i fremtiden.
Cloudflare og andre proxyer: to certifikater, ikke ét

Kører sitet gennem Cloudflare, ser besøgende Cloudflares certifikat, mens der mellem Cloudflare og din server ligger et andet. Er det bagvedliggende udløbet, får besøgende ikke en certifikatfejl, men en 526 Invalid SSL certificate eller 525 SSL handshake failed – og så leder man forgæves i browseren.
Med tilstanden “Full (strict)” skal serverens certifikat være gyldigt; med “Full” accepteres et udløbet eller selvsigneret. Den rigtige løsning er ikke at sænke sikkerheden, men at forny serverens certifikat. Sørg for, at Let’s Encrypt-kontrollen kan komme igennem Cloudflare: kontrollér, at ingen firewall- eller omdirigeringsregel i Cloudflare rammer /.well-known/acme-challenge/, eller brug DNS-baseret validering. Alternativt kan du installere et Cloudflare Origin-certifikat på serveren – det har lang gyldighed, men virker kun, så længe trafikken går gennem Cloudflares proxy. Se Cloudflare 525 og 526.
Underdomæner og wildcard
Et almindeligt certifikat dækker kun de navne, der står i det. Et shop. eller mail., der blev tilføjet efter udstedelsen, har sit eget certifikat – eller intet. Kommandoen i trin 1 viser under subjectAltName, hvilke navne der er med.
Et wildcard-certifikat dækker *.dinside.dk, men kun ét niveau ned og ikke selve dinside.dk, medmindre det står i certifikatet. Let’s Encrypt udsteder kun wildcard med DNS-validering (DNS-01), så fornyelsen kræver, at ACME-klienten kan oprette TXT-records hos din DNS-udbyder. Er API-adgangen udløbet eller ændret, fejler fornyelsen stille.
Certifikater lever kortere og kortere
Levetiden for offentlige certifikater bliver gradvist kortere. Browserproducenter og udstedere i CA/Browser Forum har besluttet, at den maksimale gyldighed sænkes til 200 dage fra marts 2026, 100 dage fra marts 2027 og 47 dage fra marts 2029. Let’s Encrypt er gået længere: deres certifikater har været på 90 dage, et valgfrit 45-dages-certifikat blev tilgængeligt i maj 2026, standarden bliver 64 dage i februar 2027 og 45 dage i februar 2028.
Det har to konsekvenser. For det første er manuel fornyelse ikke længere realistisk – alt skal være automatiseret. For det andet bliver margenen ved en fejlende fornyelse mindre. Let’s Encrypt anbefaler, at klienter fornyer ved cirka to tredjedele af levetiden eller bruger ACME Renewal Information (ARI), så udstederen selv kan signalere, hvornår der skal fornys.
Let’s Encrypt sendte tidligere en mail, før et certifikat udløb, men den tjeneste stoppede i juni 2025. Hvis du har stolet på de mails, har du ikke længere en advarsel – og så er egen overvågning nødvendig.
Overvåg udløb, så du hører det før kunderne
Automatisk fornyelse er ikke det samme som automatisk kontrol. Sæt mindst én ting op, der fortæller dig, hvis fornyelsen fejler:
- En oppetidsovervågning med SSL-tjek, der advarer, når der er under 14 dage tilbage. Se overvågning af certifikat- og domæneudløb.
- Et lille planlagt script, der kører
openssl-kommandoen fra trin 1 og advarer, nårnotAfternærmer sig. - Kontrolpanelets egne advarsler sendt til en adresse, nogen faktisk læser.
Tjek også certifikatet efter enhver flytning, DNS-ændring eller ændring i Cloudflare – det er de tidspunkter, hvor fornyelsen oftest begynder at fejle.
På WordPress hosting hos Hostious er gratis SSL fra Let’s Encrypt inkluderet, og dansk support kan døgnet rundt hjælpe med at finde ud af, hvorfor en fornyelse fejlede.
Læs også
- Hub: Domæner, DNS og SSL
- “Din forbindelse er ikke privat” – hvad advarslen betyder
- Cloudflare 525 og 526 – handshake eller ugyldigt certifikat
- Mixed content efter SSL – når hængelåsen ikke bliver hel
- Guide: SSL-certifikat til virksomhedssider
- WordPress hosting hos Hostious – med gratis SSL og dansk support
Ofte stillede spørgsmål om udløbne SSL-certifikater
Hvor længe er et certifikat gyldigt?
Let’s Encrypt har udstedt certifikater på 90 dage, men levetiden bliver kortere: 64 dage som standard fra februar 2027 og 45 dage fra februar 2028. Klienten bør forny ved cirka to tredjedele af levetiden, så der er margen, hvis en fornyelse fejler.
Kan jeg bruge siden imens?
Teknisk ja, men besøgende møder en advarsel, og integrationer som betaling og API-kald kan afvise forbindelsen. Det bør fikses samme dag.
Sitet kører gennem Cloudflare og viser 526. Er det certifikatet?
Ja, men det bagvedliggende: certifikatet mellem Cloudflare og din server er udløbet eller ugyldigt. Forny det på serveren, og sørg for, at Let’s Encrypt-kontrollen kan komme igennem – sænk ikke Cloudflares SSL-tilstand til ‘Full’ for at skjule fejlen.
Panelet siger, at certifikatet er fornyet, men browseren viser stadig udløbet. Hvorfor?
Webserveren serverer stadig den gamle kopi, eller en proxy foran har sin egen. Genindlæs webserveren, ryd proxyens cache, og tjek med openssl s_client, hvilken udløbsdato verden faktisk ser.
Får jeg stadig en mail fra Let’s Encrypt, før certifikatet udløber?
Nej. Let’s Encrypt stoppede med at sende udløbsmails i juni 2025. Brug en oppetidsovervågning med SSL-tjek eller kontrolpanelets egne advarsler i stedet.
Udgivet 28. august 2026Opdateret 3. oktober 2026Fagligt gennemgået 2. oktober 2026
