Chrome meldt NET::ERR_CERT_COMMON_NAME_INVALID? Het certificaat geldt niet voor dit adres, bijvoorbeeld wel voor www maar niet zonder www. Zo vind je de oorzaak en los je het op.
Een certificaat geldt voor een vaste lijst namen. Die lijst heet de SAN-lijst (Subject Alternative Name). Moderne browsers kijken alleen naar die lijst; de oude ‘common name’ in het certificaat speelt geen rol meer, ook al zit die nog in de naam van de foutcode. Staat het adres dat je opent er niet in, dan meldt Chrome NET::ERR_CERT_COMMON_NAME_INVALID en Firefox SSL_ERROR_BAD_CERT_DOMAIN.
De meest voorkomende oorzaak: het certificaat is aangevraagd voor domein.nl maar niet voor www.domein.nl (of andersom). Andere oorzaken: een nieuw subdomein zonder eigen certificaat, een wildcard (*.domein.nl) die het hoofddomein zelf of een tweede niveau zoals a.b.domein.nl niet dekt, of een domein dat in DNS naar een server wijst waar het nog niet is ingericht.
Draaien er meerdere sites op één server, dan kiest de webserver het certificaat aan de hand van SNI: de browser noemt bij het opzetten van de verbinding de naam die hij zoekt. Is er geen site ingericht voor die naam, dan valt de server terug op een standaardsite met een certificaat van een ándere website. Dat is dan wat de bezoeker te zien krijgt.
https://www.domein.nl wel en https://domein.nl niet (of andersom)? Dan ontbreekt één naam in het certificaat.Menunamen kunnen per versie of toestel iets anders heten. Loop de stappen op volgorde af en stop zodra het werkt.
Kijk of je het juiste adres hebt getypt, zonder tikfout en zonder een oude link naar een subdomein dat niet meer bestaat. Probeer de variant met en zonder www. Werkt één ervan, gebruik die en meld de andere aan de eigenaar.
Vraag de server om het certificaat voor precies de naam die faalt en toon de SAN-lijst. Ontbreekt de naam, dan is dat de oorzaak. Krijg je een certificaat met heel andere namen, dan is er geen site voor deze naam ingericht (SNI).
openssl s_client -connect domein.nl:443 -servername www.domein.nl </dev/null 2>/dev/null | openssl x509 -noout -subject -ext subjectAltNameWijst www of het subdomein naar een andere server dan de site zelf, dan krijgt de bezoeker het certificaat van die andere server. Vergelijk de IP-adressen met die van de server waarop de site staat. Met de domeincheck zie je ook welke records er staan.
dig +short domein.nl A
dig +short www.domein.nl A
dig +short www.domein.nl CNAMEMet certbot geef je elke naam op met -d. Heb je al een certificaat voor één naam, dan breid je het uit met --expand en herhaal je alle namen. Beide namen moeten in DNS al naar deze server wijzen, anders mislukt de controle.
sudo certbot --nginx -d domein.nl -d www.domein.nl
# bestaand certificaat uitbreiden:
sudo certbot --nginx --expand -d domein.nl -d www.domein.nlDe webserver moet weten dat deze naam bij deze site hoort. In nginx staat dat in server_name, in Apache in ServerName en ServerAlias. Ontbreekt de naam, dan kiest de server de standaardsite met een ander certificaat.
# nginx
server {
listen 443 ssl;
server_name domein.nl www.domein.nl;
ssl_certificate /etc/letsencrypt/live/domein.nl/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/domein.nl/privkey.pem;
}
sudo nginx -t && sudo systemctl reload nginxEen wildcardcertificaat *.domein.nl dekt shop.domein.nl, maar niet domein.nl zelf en niet test.shop.domein.nl. Neem het hoofddomein dus apart op. Een wildcard van Let’s Encrypt vraag je aan met een DNS-controle (--preferred-challenges dns), niet via poort 80.
Kies één hoofdadres (met of zonder www) en laat de andere variant daar met een 301 naartoe doorverwijzen. Dat kan pas nadat beide namen een geldig certificaat hebben: de browser controleert het certificaat vóórdat hij de doorverwijzing te zien krijgt. Let op dat je geen lus maakt, zie ERR_TOO_MANY_REDIRECTS.
Let op: Een doorverwijzing van domein.nl naar www.domein.nl lost deze fout niet op als domein.nl zelf geen geldig certificaat heeft. De certificaatcontrole komt eerst.
Loopt de site via een CDN zoals Cloudflare, dan ziet de bezoeker het certificaat van het CDN, niet dat van je server. Een nieuw subdomein of een naam op een dieper niveau valt dan soms buiten het standaardcertificaat van het CDN. Controleer in dat geval in het CDN-paneel welke namen het certificaat dekt.
De verbinding tussen CDN en server heeft een eigen certificaat. Fouten dáár geven meestal een foutpagina van het CDN zelf; zie Cloudflare-fout 520, 521, 522.
Kom je er met deze stappen niet uit, of wil je het liever niet zelf doen? We kijken online mee of komen langs. Hulp op afstand kost €20 per uur; komen we langs, dan is de prijs op aanvraag. Je weet vooraf waar je aan toe bent.
Schrijf kort wat er misgaat en wat je al hebt geprobeerd. Kies of we bellen, online meekijken of langskomen.
Het certificaat is maar voor één van de twee namen aangevraagd. Vraag een certificaat aan met beide namen (-d domein.nl -d www.domein.nl).
Meestal niet. De server heeft geen site ingericht voor jouw naam en valt terug op een standaardsite, of de DNS wijst naar een andere server. Controleer DNS en de vhost.
Nee. *.domein.nl dekt alleen namen één niveau onder het domein. Zet domein.nl er apart bij.
Hulp nodig van een mens? Website-onderhoud · Hosting en onderhoud · Gratis website-scan · Alle oplossingen