SSL en certificaten
Het slotje in de adresbalk. Een certificaat zorgt dat het verkeer tussen je bezoeker en je site versleuteld is, en dat de browser kan bewijzen dat hij écht met jouw domein praat. Voor de meeste mensen is het goede nieuws dat je hier niets h
Geschreven voor: Klant, Reseller, Beheerder
Het slotje in de adresbalk. Een certificaat zorgt dat het verkeer tussen je bezoeker en je site versleuteld is, en dat de browser kan bewijzen dat hij écht met jouw domein praat. Voor de meeste mensen is het goede nieuws dat je hier niets hoeft te doen. Deze pagina legt uit wat er vanzelf gebeurt, en wat je doet als het toch niet lukt.
Beeld — Paneel → Hosting → Accounts → jouw account → SSL/TLS. Bovenaan staat de kiezer Certificaat voor: elk domein heeft een eigen certificaat. Schermafdrukken worden gemaakt metopenwolf designqcen staan in.wolf/designqc-captures/.
Wat er vanzelf gebeurt
Voeg je een domein toe aan je account, dan vraagt de server een certificaat aan bij Let's Encrypt zodra het domein naar deze server wijst. Dat kost meestal minder dan een minuut. Daarna wordt het vanzelf verlengd, ruim vóórdat het verloopt — een certificaat is negentig dagen geldig en wordt rond de dertig dagen vóór het einde vernieuwd.
Je hoeft er dus niets voor te doen, behalve één ding: je DNS moet naar deze server wijzen. Zolang je domein nog naar je oude hosting wijst, kan Let's Encrypt niet vaststellen dat jij het bent, en komt er geen certificaat.
De status bekijken
Onder Wat er nu staat zie je het certificaat dat de webserver op dit moment aanbiedt:
- Herkomst — automatisch (Let's Encrypt) of een certificaat dat jij zelf hebt geïnstalleerd.
- Uitgegeven aan — de domeinnamen die erop staan.
- Verloopt — de einddatum. Binnen dertig dagen wordt dat een waarschuwing.
corectl ssl list
corectl ssl list | grep jouwsite.nlZelf een certificaat aanvragen
Ging het bij het toevoegen van je domein mis — de DNS wees nog nergens heen, bijvoorbeeld — dan klik je gewoon Certificaat aanvragen zodra het wél klopt.
corectl ssl issue jouwsite.nlWat er onder water gebeurt: de server plaatst een klein bestand op http://jouwsite.nl/.well-known/acme-challenge/…, Let's Encrypt haalt het op, en als het klopt krijg je je certificaat. Daarom is het belangrijk dat je domein bereikbaar is op poort 80 en niet meteen alles doorstuurt.
Wildcard: één certificaat voor al je subdomeinen
Heb je veel subdomeinen (shop., blog., klant1., …) dan wil je één certificaat dat ze allemaal dekt: *.jouwsite.nl.
Dat kan alleen als de DNS-zone van je domein op deze server staat, want een wildcard wordt niet via een bestand op je website bewezen maar via een TXT-record in je DNS. De server zet dat record neer, wacht tot het zichtbaar is en haalt het daarna weer weg.
corectl ssl issue jouwsite.nl --wildcard
corectl ssl issue jouwsite.nl --no-wildcard # weer alleen het domein zelfIn het paneel staat dit onder Automatisch certificaat als Ook voor alle subdomeinen.
Staat je DNS bij je registrar of bij Cloudflare, dan gaat een wildcard hier niet — vraag dan per subdomein een gewoon certificaat aan, wat prima werkt.
Extra namen: "wacht op DNS"
Heeft je website extra namen (zie Extra namen en subdomeinen), dan staan die in hetzelfde certificaat. Er komt geen tweede certificaat bij.
Bij zo'n naam kan wacht op DNS staan. Dat betekent precies één ding: de naam wijst op dit moment nog niet naar deze server, dus kon hij niet gecontroleerd worden. Hij is daarom overgeslagen — en dat is met opzet, want een certificaat wordt in één keer afgegeven voor álle namen samen. Zou die ene naam meegaan, dan mislukte de hele aanvraag en zat je ook zonder certificaat voor je hoofddomein.
Wat er intussen wel klopt:
- je hoofddomein houdt zijn geldige certificaat;
- de extra naam is bereikbaar via
http://; - er is geen aanvraag verspild.
Zodra de DNS goed staat, pakt de eerstvolgende aanvraag hem op — vanzelf bij de nachtelijke verlenging, of meteen. Heb je de DNS net gerepareerd, geef de server dan even de tijd: hij onthoudt een eerder "die naam bestaat niet" korte tijd, dus een aanvraag binnen dat uur kan de naam nog steeds overslaan. Dat corrigeert zichzelf; je hoeft alleen nog een keer aan te vragen.
corectl ssl issue mijnbedrijf.nl[corecp] mijnbedrijf.be now points here and is included in the certificate
[corecp] certificate active for [mijnbedrijf.nl www.mijnbedrijf.nl mijnbedrijf.be]Namen die je niet zelf aanvraagt: mail, webmail en mta-sts
Drie namen komen er vanzelf bij in je certificaat, en geen ervan hoef je aan te vragen:
mail.<jouw domein>— het adres dat je in Outlook, Apple Mail of op je telefoon invult om je post op te halen en te versturen. Deze naam staat standaard aan zodra je domein hier post ontvangt, precies zoals bij het pakket waar je vandaan komt: een mailprogramma dat al tien jaarmail.jouwdomein.nlzegt, blijft gewoon werken.webmail.<jouw domein>— zodat de webmail-link in het paneel opent zonder browserwaarschuwing. Die verschijnt zodra je domein hier post ontvangt.mta-sts.<jouw domein>— het adres waarop je domein zijn MTA-STS-beleid publiceert: de mededeling aan verzendende mailservers dat post voor jou over een geverifieerde verbinding moet gaan. Dat beleid wordt alleen vertrouwd over een certificaat dat op die naam klopt, dus zonder deze naam in het certificaat negeert elke verzender het.
Voor alle drie geldt dezelfde regel-per-naam als voor je eigen extra namen: een naam waarvan de DNS er nog niet naartoe wijst, wordt weggelaten in plaats van de hele aanvraag te laten mislukken, en komt er bij de eerstvolgende vernieuwing alsnog bij. Onder E-mail → Beveiliging van het domein staat met zoveel woorden of de beleidsnaam al gedekt is — zie Mailbeveiliging.
De mailnaam uitzetten
Wil je mail.jouwdomein.nl niet — bijvoorbeeld omdat die naam bij jou naar een andere mailprovider wijst — dan zet je hem uit met de schakelaar Mailnaam (mail.…) op de SSL-pagina van je website. Wij halen het record dan uit je DNS en vragen de naam bij de volgende aanvraag niet meer aan.
Vanaf de commandoregel:
corectl mail hostname set jouwsite.nl off # niet publiceren
corectl mail hostname set jouwsite.nl on # weer welUitzetten werkt meteen in DNS. Het certificaat houdt de naam nog tot de eerstvolgende vernieuwing, en dat is niet erg: een certificaat mag meer namen dragen dan er bestaan.
Waarom hij pas bij de volgende vernieuwing verschijnt
Is je website er al langer, dan staat mail.jouwdomein.nl nog niet op je certificaat. Dat komt goed, maar niet vandaag: certificaten worden bij de gewone verlenging vernieuwd, en die is over de looptijd van alle certificaten verspreid. Wij doen dat expres zo — Let's Encrypt staat een beperkt aantal certificaten per week per domein toe, en een reseller met honderd domeinen zou die grens in één keer volmaken.
Wil je niet wachten, klik dan één keer op Certificaat aanvragen op de SSL-pagina. Dat is één certificaat voor één website.
Je website krijgt zijn certificaat ook als zo'n naam nog niet doorstaat
Een naam die je zojuist hebt aangemaakt is niet overal op internet meteen bekend. De partij die je certificaat uitgeeft kijkt met zijn eigen ogen naar DNS, en die kunnen een halve minuut achterlopen op de jouwe. Vroeger kon een naam als webmail.jouwsite.nl daardoor de hele aanvraag laten mislukken — en dan stond je gloednieuwe website zonder certificaat, om een naam die de website zelf niet nodig heeft.
Dat kan niet meer. Lukt de aanvraag niet vanwege zo'n servicenaam, dan wordt hij meteen nog één keer gedaan met alleen de namen van je website zelf. Je website is dus gewoon bereikbaar via https://, en op de SSL-pagina zie je de overgeslagen naam oranje staan met de reden erbij. Bij de eerstvolgende vernieuwing komt hij er vanzelf bij — of eerder, als je zelf op Certificaat aanvragen klikt.
$ corectl ssl issue jouwsite.nl
[corecp] de aanvraag voor jouwsite.nl liep vast op een naam erin.
Opnieuw aangevraagd met alleen de namen van de website;
webmail.jouwsite.nl volgt bij de volgende vernieuwing.
[corecp] certificaat actief voor [jouwsite.nl]Waar de namen in je certificaat staan
Klik je in je browser op het slotje en dan door naar de certificaatgegevens, dan zie je twee lijstjes die op elkaar lijken. Ze zijn niet even belangrijk, en dat verwart bijna iedereen een keer.
- Onderwerpalternatieve naam (Engels: Subject Alternative Name, afgekort SAN) — dít is de lijst die telt. Elke naam waarvoor je certificaat geldig is, staat hierin: je domein zelf,
www, je extra namen,webmail, en bij een wildcard ook*.jouwdomein.nl. Staat een naam er niet in, dan geeft de browser een waarschuwing, hoe goed de rest ook staat. - Onderwerp (Subject), meestal getoond als
CN=jouwdomein.nl— een oud veld uit de tijd dat een certificaat maar één naam kon hebben. Browsers negeren het al meer dan tien jaar. Het mag leeg zijn, en dat zegt niets over je certificaat.
Wil je die eerste lijst zonder browser bekijken, dan kan dat vanaf je eigen computer:
$ openssl s_client -connect mijnbedrijf.nl:443 -servername mijnbedrijf.nl </dev/null 2>/dev/null \
| openssl x509 -noout -ext subjectAltName
X509v3 Subject Alternative Name:
DNS:mijnbedrijf.nl, DNS:www.mijnbedrijf.nl, DNS:mail.mijnbedrijf.nl, DNS:webmail.mijnbedrijf.nlIn het paneel staat dezelfde lijst onder Wat er nu staat, bij Namen op dit certificaat. Groene labels zijn gedekt, oranje labels niet — en onder de rij staat in één zin waarom. Mis je daar een naam die je wel verwacht, dan wijst die negen van de tien keer nog niet naar deze server; zie Extra namen: "wacht op DNS".
Eén ding is hierbij belangrijk: een naam die niet gedekt is, kost je nooit je hele certificaat. De rest wordt gewoon aangevraagd en je website blijft werken. Dat is met opzet zo: een aanvraag waarin één naam misgaat, mislukt bij de certificaatuitgever in zijn geheel, en dan zou één verkeerd DNS-record je hele site uit de lucht halen.
Vernieuwen
Verlengen gebeurt vanzelf, met een timer op de server. Wil je het nu forceren — bijvoorbeeld omdat je net een subdomein hebt toegevoegd:
corectl ssl renew jouwsite.nl # dit ene certificaat
corectl ssl renew # alles wat aan de beurt is"De server is bezig" — wat dat betekent, en waarom het goed nieuws is
's Nachts vernieuwt de server alle certificaten die aan de beurt zijn. Dat is per certificaat een halve tot anderhalve minuut, en op een server met veel websites duurt zo'n ronde dus lang.
Wat je daarvan merkt: druk je in die tijd op een knop die iets verandert — een website toevoegen, een wachtwoord wijzigen, een DNS-record — dan kan het even duren voordat hij landt. Meestal een halve minuut. Je ziet dan een gele melding, geen rode:
De server is bezig — this node is busy with ssl.renew, 4 of 12 certificates, running for 3m21s. It gives the node up between units, so try again shortly.
Dat is een wachtbericht, geen fout: je actie is niet mislukt en je hoeft niets te repareren. De server geeft zichzelf tussen twee certificaten door even vrij, juist zodat jouw wijziging ertussen past. Wachten of het zo nog eens proberen is allebei goed.
Vroeger gebeurde er iets anders, en dat is de reden dat dit hier staat: je wijziging bleef dan tot het eind van de hele ronde staan wachten en je kreeg uiteindelijk "er ging iets mis aan onze kant" te zien. Er ging niets mis; de server was aan het werk en zei het alleen niet.
De limieten, in gewone taal
Let's Encrypt houdt een weekbudget bij, en het is handig om te weten hoe dat geteld wordt — want bijna iedereen raadt het verkeerd.
- Het budget hangt aan jouw domein, niet aan de server. Voor
jouwsite.nlen alles eronder samen zijn dat 50 certificaten per 7 dagen. Wat andere klanten op dezelfde server doen, gaat niet van jouw pot af — en jouw aanvragen niet van die van hen. - Dezelfde naam opnieuw aanvragen is de limiet die je écht kunt raken: 5 keer per 7 dagen voor precies dezelfde set namen. Vijf keer op Vraag een certificaat aan drukken omdat er niets lijkt te gebeuren, en die naam kan een week lang geen nieuw certificaat krijgen. Werkt iets niet, kijk dan eerst waaróm — de foutmelding op het scherm zegt het, en negen van de tien keer wijst je DNS nog niet hierheen.
- Verlengen telt niet mee. Een verlenging vertelt de certificaatuitgever welk certificaat hij vervangt, en dan is hij vrijgesteld van die vijf-per-week. Je automatische verlengingen kunnen je budget dus nooit opmaken, hoeveel websites je ook hebt.
- En accepteert de uitgever die mededeling niet, dan krijg je je certificaat alsnog. Dat komt voor: het vorige certificaat was al door iets anders vervangen, of het was besteld voordat de server zich opnieuw bij de uitgever registreerde. De verlenging wordt dan gewoon opnieuw geplaatst zónder een voorganger te noemen, en het logboek zegt dat ook:
[corecp] this order replaces the certificate on disk (ARI wAQTmt….WbqYkSFDsoI)
[corecp] … refused the order over the certificate it names (…); re-ordering
without the ARI reference
[corecp] certificate active for [jouwsite.nl www.jouwsite.nl]Het enige wat je kwijt bent, is de vrijstelling hierboven: díe ene verlenging telt wél mee voor de vijf-per-week. Er valt niets aan te doen en het hoeft ook niet, tenzij je het bij élke verlenging van dezelfde naam ziet.
- Een mislukte poging kost je geen certificaat, maar wel een aparte teller: 5 mislukte controles per naam per uur. Ook daarom: eerst de oorzaak, dan opnieuw.
Let's Encrypt waarschuwt je niet meer als een certificaat verloopt
Dat deden ze tot juni 2025 per e-mail; sindsdien niet meer. Je hebt die mail ook niet nodig: het paneel bewaakt het zelf en waarschuwt je ruim op tijd als een certificaat niet vernieuwd raakt. Zie je zo'n melding, negeer hem dan niet — hij is nu de enige die je krijgt.
Waarom je mailserver na een certificaat heel even kan haperen
Een nieuw certificaat moet ook door je mailserver gelezen worden, dus die krijgt na elke aanvraag een seintje om zijn instellingen opnieuw in te lezen. Meestal merk je daar niets van. Heel af en toe kan dat seintje niet meer verwerkt worden en moet de mailserver echt even opnieuw starten; de server controleert dat zelf en doet het dan ook zelf. Je e-mail raakt daarbij niet kwijt — wat onderweg is wordt gewoon opnieuw aangeboden — maar een mailprogramma dat op dat moment verbonden was, maakt opnieuw verbinding.
Vermoed je dat je mail niet meer aankomt terwijl versturen wél lukt, dan is dit het eerste dat je (of je beheerder) op de server nakijkt — en meteen ook het commando dat het herstelt:
doveadm service status # geeft dit niets terug, dan is er iets mis
mailq # blijft post hier staan, dan wordt hij niet afgeleverd
corectl reconcile # controleert het en herstart de mailserver als het nodig isJe eigen certificaat installeren
Heb je een certificaat elders gekocht (een EV-certificaat, of eentje van je werkgever), dan installeer je dat onder Eigen certificaat installeren. Je hebt drie dingen:
| Veld | Wat het is |
|---|---|
| Certificaat | het certificaat zelf, in PEM — begint met -----BEGIN CERTIFICATE----- |
| Privésleutel | de bijbehorende sleutel, in PEM. Verlaat je browser alleen naar deze server |
| Tussencertificaten | de keten van de uitgever, als je die apart hebt gekregen |
Plak ze, of kies de bestanden. Het paneel controleert vóór het opslaan of het echt PEM is, of het certificaat niet al verlopen is, en of de sleutel bij het certificaat hoort. Klopt het paar, dan zie je Gecontroleerd: dit paar hoort bij elkaar.
corectl ssl install jouwsite.nl \
--cert-file ~/jouwsite.crt \
--key-file ~/jouwsite.key \
--chain-file ~/tussencertificaten.pemLet op: een eigen certificaat wordt niet automatisch verlengd. Zet zelf een herinnering; de server waarschuwt je dertig dagen van tevoren, maar hij kan het niet voor je oplossen. Wil je terug naar automatisch, vraag dan gewoon weer een Let's Encrypt-certificaat aan — dat overschrijft het eigen certificaat.
Hoe vaak het platform het opnieuw probeert
Lukt een aanvraag niet, dan blijft de server het niet elke minuut opnieuw proberen. Dat is geen traagheid maar een noodzaak: een certificaatverstrekker staat maar een beperkt aantal aanvragen per domein per week toe, en een server die blijft hameren op een naam die nog niet werkt, verbruikt dat tegoed voordat de oorzaak is opgelost.
De server wacht daarom steeds wat langer tussen twee automatische pogingen:
| Mislukte pogingen op rij | Volgende automatische poging na |
|---|---|
| 1 | 5 minuten |
| 2 | 15 minuten |
| 3 | 30 minuten |
| 4 | 1 uur |
| 5 | 12 uur |
| 6 | 1 dag |
| 7 of meer | 1 week |
Twee dingen zijn daarbij het onthouden waard.
Een geslaagde aanvraag zet de teller terug. Zodra het certificaat er is, begint de reeks weer bij nul.
Zelf vragen mag altijd. Het schema hierboven geldt alleen voor wat de server uit zichzelf doet. Druk je op Certificaat aanvragen, dan gaat de aanvraag meteen de deur uit — ook als de server zelf nog even zou wachten. Heb je zojuist je DNS goedgezet, dan is dat precies wat je wilt.
Je beheerder ziet per naam hoe vaak het misging, wanneer de server het opnieuw probeert, en de foutmelding van de certificaatverstrekker zelf. Loopt een aanvraag steeds vast, dan is die melding het snelste antwoord op de vraag waarom — vraag ernaar.
Eén keer opnieuw, als de verstrekker te vroeg keek. Een nieuw domein is voor de rest van het internet niet op hetzelfde moment zichtbaar. De certificaatverstrekker vraagt het aan zijn eigen naamserver, en die kan een naam nog even niet kennen terwijl jouw naamservers hem allang antwoorden. Een aanvraag die daarop stukloopt, wordt door het platform automatisch één keer opnieuw gedaan — maar alleen als élke naamserver van je domein de naam op dat moment wél beantwoordt. Wijst je DNS echt nog nergens heen, dan blijft het bij één mislukte aanvraag en één duidelijke melding.
Wat je beheerder per certificaat kan zien
Klikt je beheerder op een rij in het certificatenoverzicht, dan opent een paneel met alles wat de server over dat ene certificaat weet. Dat is het snelste antwoord op de vraag die jij stelt als er iets misgaat — en het is handig om te weten wat daar staat als je erom vraagt:
| Wat er staat | Waarom het helpt |
|---|---|
| Eén zin over wat er vanzelf gebeurt | "de server probeert het om 14:30 opnieuw" of "de verstrekker opent het vernieuwvenster op 9 oktober" — vaak hoeft er niets te gebeuren |
| De laatste vijf pogingen | Vijf keer dezelfde melding is een ander probleem dan vijf verschillende |
| De tekst van de certificaatverstrekker zelf | Die noemt de oorzaak; een samenvatting doet dat niet |
| Hoe de naam wordt gecontroleerd | Via de website (HTTP-01) of via de DNS-zone (DNS-01, bij een wildcard) |
| Wanneer het certificaat aan vernieuwen toe is | En of de verstrekker dat besloot of de kalender |
Wachtwoorden, sleutels en tokens komen daar nooit in te staan: die worden eruit gehaald op het moment dat de server de melding opschrijft. Wat blijft staan is de foutmelding zelf.
Is de software op de server ouder dan de versie die deze gegevens bijhoudt, dan zegt het paneel dat met zoveel woorden — inclusief welke server het betreft. Bijwerken van die server maakt de geschiedenis zichtbaar.
Als het niet lukt
| Wat je ziet | Wat het meestal is |
|---|---|
| Geen certificaat na het toevoegen van een domein | De DNS wijst nog niet naar deze server. Controleer met dig +short A jouwsite.nl. |
| "Timeout during connect" bij de aanvraag | Poort 80 is dicht, of een firewall bij je domein blokkeert het. |
| Browser: "certificaat is niet geldig voor deze naam" | Je bezoekt www.jouwsite.nl maar het certificaat staat alleen op jouwsite.nl. Voeg het subdomein toe aan het account, of vraag een wildcard aan. |
| Browser: "de verbinding is niet privé" na een eigen certificaat | De tussencertificaten ontbreken. Vul het derde veld. |
| "Deze sleutel hoort niet bij dit certificaat" | Je plakte de sleutel van een ándere aanvraag. Gebruik het paar dat samen is aangemaakt. |
| Wildcard mislukt met "no such zone" | De DNS-zone staat niet op deze server. Zonder zone geen wildcard. |
Alles staat goed maar de site blijft op http:// | Je site zelf stuurt niet door. Voor WordPress: zet de site-URL op https://. |
| Steeds een DNS-fout die volgens jou niet klopt | De naamserver van de verstrekker liep achter. Het platform doet de aanvraag zelf één keer opnieuw; blijft het misgaan, controleer dan of alle naamservers van je domein de naam beantwoorden. |
| "accountDoesNotExist" in het serverlog | De certificaatverstrekker kent de aanmelding van deze server niet meer. Het platform meldt zichzelf bij de eerstvolgende aanvraag opnieuw aan; je hoeft niets te doen. Dit gebeurt alleen bij een testverstrekker — Let's Encrypt vergeet een aanmelding niet. |
Controleren wat de wereld ziet:
echo | openssl s_client -connect jouwsite.nl:443 -servername jouwsite.nl 2>/dev/null \
| openssl x509 -noout -subject -dates"Nog geen website" — en wat je dan doet
Een certificaat beveiligt een website: het staat op een domeinnaam, dus zonder domein valt er niets te beveiligen. Heeft dit account nog geen website, dan zegt het SSL-scherm dat, met de knop Website toevoegen ernaast.
- Ga naar Accounts → jouw account → SSL/TLS.
- Klik Website toevoegen en voeg de website toe op het websitescherm.
- Kom terug op SSL/TLS. De domeinkiezer staat er nu boven, en het certificaat wordt in de regel automatisch aangevraagd zodra de naam naar de server wijst.
Mag je zelf geen website toevoegen, dan staat er dezelfde uitleg met een link Websites bekijken; vraag je beheerder om de website aan te maken.
Zie ook
- DNS-records beheren — waar het A-record en de wildcard-validatie vandaan komen.
- WordPress installeren — installeer pas als
https://werkt. - Waar een website draait — welke server jouw domein serveert.