Probleemoplossing voor SSL-certificaten en ServBay CA
Dit document biedt oplossingen voor veelvoorkomende problemen met SSL-certificaten en ServBay CA in de lokale ontwikkelomgeving van ServBay.
Waarom geeft mijn browser aan dat het SSL-certificaat niet vertrouwd wordt?
Wanneer je in je browser probeert een lokaal via ServBay gehoste website te bezoeken en je krijgt een van de volgende waarschuwingen te zien, betekent dit doorgaans dat de SSL-certificaatconfiguratie niet correct is:
- Chrome / Edge:
Your connection is not private
(Je verbinding is niet privé)- Foutcode
NET::ERR_CERT_AUTHORITY_INVALID
- Foutcode
NET::ERR_CERT_COMMON_NAME_INVALID
(Minder vaak, maar kan voorkomen als het certificaat niet overeenkomt met de domeinnaam)
- Firefox:
Warning: Potential Security Risk Ahead
(Waarschuwing: Mogelijk veiligheidsrisico gedetecteerd)- Na klikken op "Geavanceerd" zie je mogelijk foutcode
SEC_ERROR_UNKNOWN_ISSUER
- Foutcode
SSL_ERROR_BAD_CERT_DOMAIN
(Bij een mismatch tussen certificaat en domeinnaam)
- Safari:
This Connection Is Not Private
(Deze verbinding is niet privé)Safari can't verify the identity of the website "your-domain.test"
(Safari kan de identiteit van de site “jouw-domein.test” niet verifiëren)
De belangrijkste oorzaak van dit probleem is dat ServBay User CA
en ServBay Public CA
niet correct geïnstalleerd en vertrouwd zijn. Dit kan komen doordat:
- Het rootcertificaat van ServBay niet aan de vertrouwde lijst van het systeem is toegevoegd.
- Je eerder dezelfde domeinnaam (zoals
myapp.test
) in een andere lokale ontwikkelomgeving, zoals MAMP of Laravel Herd, hebt gebruikt, waardoor hun certificaten conflicteren met die van ServBay. Ook kunnen problemen in hun eigen certificaatautoriteit de oorzaak zijn, waardoor de browser onjuiste of verouderde vertrouwensinformatie of certificaten heeft gecachet.
Oplossing
Volg deze stappen om het probleem te verhelpen:
- Open ServBay
- Navigeer naar Instellingen (Settings) en zoek het gedeelte ServBay Root CA.
- Klik op ServBay Root CA opnieuw installeren (Reinstall ServBay Root CA). Hiermee probeert ServBay automatisch de installatie en het vertrouwen van het rootcertificaat te herstellen.
- Sluit je browser volledig af en open hem opnieuw (zorg dat alle vensters en processen gesloten zijn om gecachete SSL-status te wissen).
- Bezoek je website opnieuw. De SSL-certificaatfout zou nu opgelost moeten zijn.
Indien het probleem blijft bestaan:
Dit betekent meestal dat er zich oude, conflicterende of ongeldige certificaten in het systeem bevinden, met name als je eerder andere tools hebt gebruikt (zoals MAMP of Herd) om certificaten aan te maken voor dezelfde domeinnaam.
- Open de Sleutelhanger (Keychain Access) app op macOS (te vinden onder “Programma’s” > “Hulpprogramma’s”).
- Typ de problematische domeinnaam in het zoekveld rechtsboven (bijvoorbeeld
myapp.test
, of zoek met trefwoorden alsmamp
ofherd
als je het niet zeker weet). - Filter bovenin op Certificaten (Certificates).
- Zoek in de resultaten alle SSL-certificaten die aan dit domein gerelateerd zijn. Let vooral op de uitgever (Issuer), bijvoorbeeld
ServBay User CA
,MAMP Development CA
,Laravel Herd CA
of vergelijkbare namen. - Selecteer alle gevonden certificaten die bij het problematische domein horen (vooral die niet uitgegeven zijn door
ServBay User CA
of die verdacht lijken) en druk opDelete
om ze te verwijderen. Je moet mogelijk je systeemwachtwoord invoeren ter bevestiging. Wees voorzichtig en verwijder alleen certificaten die aan je lokale ontwikkeldomein zijn gekoppeld. - (Optioneel, maar aanbevolen) Zoek in Sleutelhanger nogmaals naar
ServBay User CA
enServBay Public CA
. Controleer of die bestaan en geen rood kruisje op het pictogram hebben (wat betekent “niet vertrouwd”). Indien niet vertrouwd (rood kruisje), dubbelklik het certificaat, vouw het gedeelte “Vertrouwen (Trust)” uit en stel “Bij gebruik van dit certificaat (When using this certificate)” in op “Altijd vertrouwen (Always Trust)”. - Ga terug naar de ServBay applicatie.
- Navigeer naar Instellingen (Settings) -> ServBay Root CA.
- Klik op Alle ServBay User certificaten opnieuw aanmaken (Recreate All ServBay User Certificates) om voor alle door ServBay beheerde sites nieuwe SSL-certificaten te genereren.
- Herstart je Mac om ervoor te zorgen dat alle diensten en systeemonderdelen de nieuwste certificaten en vertrouwensinstellingen laden.
- Open je browser opnieuw en probeer je website weer te bezoeken.
Door deze veelvoorkomende foutmeldingen op te nemen kan je sneller achterhalen of je probleem te maken heeft met SSL-certificaatvertrouwen en meteen de juiste oplossing vinden.
Wat te doen bij een kwijtgeraakt SSL-certificaat?
Tijdens lokale webontwikkeling met ServBay kan het soms gebeuren dat de SSL-certificaatbestanden van een site per ongeluk kwijtraken. Dit veroorzaakt opstartproblemen voor je webserver (zoals Nginx, Caddy of Apache), waardoor de website niet goed laadt en je in de logbestanden foutmeldingen over ontbrekende certificaten ziet.
Probleembeschrijving
Wanneer het automatisch door ServBay uitgegeven SSL-certificaatbestand (.crt
en .key
) voor een lokale site ontbreekt, zie je mogelijk vergelijkbare foutmeldingen in de log van de webserver. Deze duiden er stuk voor stuk op dat het opgegeven pad naar het certificaatbestand niet gevonden wordt of onleesbaar is.
Enkele voorbeelden van foutmeldingen:
Nginx foutmelding:
log
nginx: [emerg] cannot load certificate "/Applications/ServBay/ssl/private/tls-certs/servb3ay.host/servbay.host.crt": BIO_new_file() failed (SSL: error:80000002:system library::No such file or directory:calling fopen(/Applications/ServBay/ssl/private/tls-certs/servb3ay.host/servbay.host.crt, r) error:10000080:BIO routines::no such file)
nginx: configuration file /Applications/ServBay/package/etc/nginx/nginx.conf test failed
1
2
2
Caddy foutmelding:
log
Error: loading http app module: provision http: getting tls app: loading tls app module: provision tls: loading certificates: open /Applications/ServBay/ssl/private/tls-certs/servbay.host/ser3vbay.host.crt: no such file or directory
1
Apache foutmelding:
log
AH00526: Syntax error on line 15 of /Applications/ServBay/package/etc/apache/vhosts/servbay.host.conf:
SSLCertificateFile: file '/Applications/ServBay/ssl/pri3vate/tls-certs/servbay.host/servbay.host.crt' does not exist or is empty
1
2
2
De kern van deze foutmeldingen is altijd dezelfde: het in de serverconfiguratie opgegeven SSL-certificaatbestand bestaat niet of is ontoegankelijk.
Oplossing
Voor de automatisch voor lokale sites uitgegeven SSL-certificaten biedt ServBay een handig automatisch detectie- en heruitgiftesysteem om certificaatverlies op te lossen.
Volg deze stappen:
- Start de ServBay-applicatie: Zorg dat ServBay actief is.
- Navigeer naar de lijst met websites: Klik in de linkernavigatiebalk van de ServBay-app op Websites.
- Selecteer de betreffende website: Zoek in de lijst de lokale site waarbij het SSL-certificaat ontbreekt en klik deze aan.
- Automatische detectie en uitgifte: Terwijl ServBay de siteconfiguratie laadt, controleert het automatisch of het benodigde SSL-certificaatbestand aanwezig is. Bij ontbrekende bestanden (zoals
.crt
of.key
) probeert ServBay automatisch een nieuw certificaat uit te geven en op de juiste locatie te plaatsen (/Applications/ServBay/ssl/private/tls-certs/jouw-domein/
). - Herstart je webserver: Nadat de nieuwe certificaatbestanden zijn aangemaakt en geplaatst, moet je het webserverpakket (zoals Nginx, Caddy of Apache) herstarten zodat het de nieuwe bestanden kan laden. Ga hiervoor in de linkernavigatiebalk naar de pagina Softwarepakketten, zoek je webserverpakket en klik op de herstartknop (meestal een cirkelvormige pijl).
- Controleer of het is opgelost: Na een succesvolle herstart, probeer via HTTPS je lokale site te bezoeken (zoals
https://jouw-domein
). Het probleem hoort nu verholpen te zijn; de site is bereikbaar via een veilige verbinding.
Belangrijke aandachtspunten
- Deze oplossing geldt enkel voor de SSL-certificaten die automatisch door ServBay voor lokale sites worden uitgegeven. Gebruik je een zelf geïmporteerd, handmatig certificaat, dan zal ServBay deze niet automatisch heruitgeven; je moet deze dan zelf terugzetten of opnieuw aanmaken en importeren.
- ServBay gebruikt een ingebouwde ServBay User CA om certificaten voor lokale sites uit te geven, zodat HTTPS lokaal werkt. Krijg je bij toegang tot je lokale HTTPS-site toch een waarschuwing over niet-vertrouwde certificaten in de browser, dan heeft dit waarschijnlijk te maken met het ontbreken van vertrouwen in ServBay User CA door systeem of browser. Raadpleeg in dat geval de documentatie omtrent ServBay CA Vertrouwen voor de juiste instellingen.
- ServBay biedt functies voor databack-up, inclusief het back-uppen van siteconfiguraties en SSL-certificaten. Regelmatige back-ups kunnen je helpen snel te herstellen bij onverwachte gebeurtenissen.
Veelgestelde vragen (FAQ)
Vraag: Waarom geeft ServBay automatisch SSL-certificaten uit voor lokale websites?
Antwoord: ServBay is ontworpen als een complete lokale ontwikkelomgeving. Om je productieomgeving te simuleren en het ontwikkelen en testen van HTTPS te vergemakkelijken, gebruikt ServBay een eigen ingebouwde ServBay User CA om voor jouw lokale sites automatisch SSL-certificaten te genereren.
Vraag: Kan ik mijn eigen SSL-certificaat gebruiken?
Antwoord: Ja, ServBay ondersteunt het importeren van je eigen SSL-certificaat (inclusief certificaten van bijvoorbeeld ACME / Let's Encrypt). Deze handleiding is uitsluitend bedoeld voor automatisch door ServBay gegenereerde certificaten.
Vraag: Is het veilig om certificaten opnieuw uit te geven?
Antwoord: Ja, in je lokale ontwikkelomgeving gebruikt ServBay enkel certificaten ondertekend door ServBay User CA en uitsluitend bedoeld voor lokale ontwikkeling en testen. Dit heeft geen impact op de beveiliging van je site op het publieke internet.
Samenvatting
ServBay biedt een eenvoudige manier om SSL-certificaten te beheren voor je lokale ontwikkelomgeving. Wanneer een automatisch uitgegeven SSL-certificaat voor een lokale site per ongeluk kwijtraakt, detecteert ServBay dit en kan het in enkele stappen automatisch een nieuw certificaat uitgeven en installeren, zodat je snel weer veilig via HTTPS lokaal aan de slag kunt.