AWS ACM Certificaten Blijven Pending: Hoe Los Je SSL Validatieproblemen Op
Blijft je AWS Certificate Manager certificaat hangen op pending? Ontdek de meest voorkomende oorzaken en hoe je nameserver mismatches en DNSSEC conflicten oplost die certificaat validatie blokkeren.
Je hebt een SSL-certificaat aangevraagd via AWS Certificate Manager (ACM), de validatie CNAME records toegevoegd aan je hosted zone, maar de certificaatstatus blijft vasthangen op "Pending validation". Uren verstrijken, er gebeurt niets. Herkenbaar?
Na het deployen van tientallen websites naar AWS ben ik dit probleem vaker tegengekomen dan ik zou willen. Dit is wat er werkelijk aan de hand is en hoe je het oplost.
Hoe ACM Validatie Werkt
Wanneer je een certificaat aanvraagt in ACM moet AWS verifiëren dat jij de eigenaar bent van het domein. Dit doen ze door je te vragen specifieke CNAME records toe te voegen aan je DNS. ACM controleert vervolgens deze records om te bevestigen dat ze bestaan.
Het proces zou eenvoudig moeten zijn, maar wanneer certificaten pending blijven, is het vrijwel altijd een DNS configuratieprobleem.
Probleem 1: Nameserver Mismatch
Dit is veruit de meest voorkomende oorzaak. Je Route 53 hosted zone heeft nameservers, maar je geregistreerde domein wijst naar een compleet andere set nameservers.
Wat Er Gebeurt
Wanneer je een Route 53 hosted zone aanmaakt, wijst AWS er vier nameservers aan toe (zoiets als ns-123.awsdns-45.com). Je domeinregistratie wijst echter nog steeds naar de oude nameservers van je vorige DNS provider of registrar.
Je voegt de ACM validatie CNAME toe aan Route 53, maar ACM kan het niet zien omdat het domein Route 53's nameservers nog helemaal niet gebruikt. De records bestaan wel, maar ze staan op een DNS server die niemand bevraagt.
De Oplossing
Controleer de daadwerkelijke nameservers van je domein en vergelijk ze met je hosted zone.
Op macOS/Linux:
dig NS jouwnaam.nl +short
Op Windows (PowerShell):
nslookup -type=NS jouwnaam.nl
Dit toont welke nameservers het domein in productie daadwerkelijk gebruikt. Vergelijk deze nu met de nameservers van je Route 53 hosted zone (te vinden in de Route 53 console onder de hosted zone details).
Als ze niet overeenkomen, moet je de domeinregistratie bijwerken om Route 53's nameservers te gebruiken. Dit doe je via het controlepaneel van je domeinregistrar (TransIP, Namecheap, AWS Route 53 domeinregistratie, etc.).
Na het bijwerken van nameservers duurt DNS propagatie even. Controleer de propagatiestatus:
dig NS jouwnaam.nl @8.8.8.8 dig NS jouwnaam.nl @1.1.1.1
Bevraag verschillende DNS servers om te zien of de wijziging wereldwijd is doorgevoerd. Dit kan van enkele minuten tot 48 uur duren, hoewel het meestal snel gaat.
Probleem 2: DNSSEC Conflicten
Dit is een verraderlijk probleem dat vaak voorkomt bij het overzetten van domeinen van providers zoals TransIP, Gandi of andere registrars die DNSSEC standaard inschakelen.
Wat Er Gebeurt
DNSSEC voegt cryptografische handtekeningen toe aan DNS records voor extra beveiliging. Wanneer je de nameservers wijzigt maar vergeet de DNSSEC instellingen te verwijderen of bij te werken, worden de handtekeningen ongeldig.
DNS resolvers zien dat de DNSSEC handtekeningen niet overeenkomen met de nieuwe nameservers en weigeren DNS records voor je domein terug te geven. Vanuit het perspectief van ACM bestaan je validatie CNAMEs simpelweg niet.
De Oplossing
Controleer of DNSSEC is ingeschakeld op je domein:
Op macOS/Linux:
dig DNSKEY jouwnaam.nl +short
Op Windows (PowerShell):
Resolve-DnsName -Name jouwnaam.nl -Type DNSKEY
Als je DNSKEY records terugkrijgt, is DNSSEC actief.
Je hebt twee opties:
- DNSSEC uitschakelen bij je domeinregistrar (eenvoudigste oplossing)
- DNSSEC correct configureren voor Route 53 door DS records toe te voegen aan je registrar
Voor de meeste gebruikssituaties is het uitschakelen van DNSSEC prima. Ga naar het controlepaneel van je domeinregistrar en schakel DNSSEC uit. Na het uitschakelen kan het enkele uren duren voordat DNS caches zijn opgeschoond.
Als je DNSSEC ingeschakeld moet houden, moet je het correct configureren met Route 53. Dit houdt in dat je een KSK (Key Signing Key) aanmaakt en DS records toevoegt aan je registrar. AWS heeft hier documentatie voor beschikbaar.
Verificatie van de Oplossing
Zodra je de nameserver mismatch of het DNSSEC probleem hebt opgelost, verifieer dan of ACM je validatie records kan zien:
Op macOS/Linux:
dig _a1b2c3d4e5f6g7h8.jouwnaam.nl CNAME +short
Op Windows (PowerShell):
nslookup -type=CNAME _a1b2c3d4e5f6g7h8.jouwnaam.nl
Vervang _a1b2c3d4e5f6g7h8.jouwnaam.nl met het daadwerkelijke validatie CNAME record dat ACM je heeft gegeven.
Als je een response krijgt die het CNAME doel toont (iets dat eindigt op .acm-validations.aws), is het record publiekelijk zichtbaar en zou ACM het binnen enkele minuten moeten valideren.
Als je geen response krijgt of NXDOMAIN ziet, is het DNS probleem nog niet volledig opgelost.
Andere Veelvoorkomende Problemen
Verkeerde Hosted Zone
Als je meerdere Route 53 hosted zones hebt voor hetzelfde domein (bijvoorbeeld door mislukte deployment pogingen), voeg je mogelijk records toe aan de verkeerde zone. Verwijder dubbele hosted zones om verwarring te voorkomen.
Propagatietijd
Soms moet je gewoon even wachten. DNS wijzigingen duren even om wereldwijd door te voeren. ACM bevraagt mogelijk een DNS server die nog niet is bijgewerkt. Geef het 30 minuten tot een uur na het maken van wijzigingen.
Record Bestaat Al
Als je het certificaat meerdere keren hebt aangevraagd, heb je mogelijk dubbele of conflicterende validatie records. Verwijder oude validatie CNAMEs en voeg alleen de huidige toe.
Preventietips
Om deze problemen bij toekomstige deployments te voorkomen:
- Update nameservers eerst - Voordat je ACM certificaten aanvraagt, zorg dat je domein naar Route 53 wijst
- Schakel DNSSEC uit voordat je domeinen overzet, schakel het daarna weer in wanneer DNS stabiel is
- Gebruik infrastructure-as-code - Tools zoals SST of Terraform handelen ACM validatie automatisch af
- Controleer DNS voordat je deployt - Verifieer dat nameservers overeenkomen met je hosted zone
Wanneer Hulp Inschakelen
Als je de nameservers hebt gecontroleerd, DNSSEC hebt uitgeschakeld, hebt gewacht op propagatie en het certificaat na 24 uur nog steeds pending is, heb je mogelijk een complexer probleem. Veelvoorkomende scenario's zijn:
- Zakelijke domeinen met extern DNS beheer
- Domeinen met CAA records die AWS blokkeren
- Email-gebaseerde validatie wanneer DNS validatie niet werkt
Deze situaties vereisen diepere troubleshooting of professionele hulp.
Conclusie
Een pending ACM certificaat is frustrerend, maar de oplossing is meestal eenvoudig. Controleer je nameservers, schakel DNSSEC uit als het actief is, en verifieer dat de validatie records publiekelijk zichtbaar zijn. In de meeste gevallen is dat alles wat nodig is.
DNS problemen zijn de verborgen complexiteit van moderne webdeployment. Begrijpen hoe nameservers en DNSSEC werken bespaart uren aan debuggen en maakt deployments soepeler.
De volgende keer dat je die vervelende "Pending validation" status ziet, weet je precies wat je moet controleren.