Er is niks zo frustrerend als een foutmelding, zeker wanneer het een melding is die met je beveiliging te maken heeft. Een melding als “This Site Can’t Provide a Secure Connection” kan dus nogal verwarrend en angstaanjagend zijn. Wanneer je dit op je MAMP installatie ziet, kan dat de boel flink ontregelen, zeker aangezien deze websites meestal lokale testinstallaties zijn.

Dit probleem betekent meestal dat er een probleem is met je webbrowser of het SSL-certificaat van je website. Gelukkig is het oplossen ervan vrij eenvoudig. Het kan zelfs zo simpel zijn als het legen van de cache van je browser.

In dit artikel kijken we naar de meest voorkomende oorzaken van deze foutmelding. Vervolgens gaan we samen kijken naar hoe je dit probleem kan oplossen, zodat jij weer bezig kan met belangrijkere dingen. Laten we er meteen mee beginnen!

Wat is dan precies een “secure connection”? Het komt erop neer dat het een verbinding is naar een website via HTTPS in plaats van HTTP. De meeste browsers laten deze website zien met een klein slot-icoontje in de adresbalk om te laten zien dat het een beveiligde verbinding is.

Kinsta.com gebruikt een beveiligde HTTPS verbinding.
Kinsta.com gebruikt een beveiligde HTTPS verbinding.

HTTPS biedt grote beveiligingsvoordelen ten opzichte van HTTP, maar vereist wel dat je voldoet aan een aantal strikte eisen. Eén van deze eisen is de aanwezigheid van een geld SSL-certificaat.

“This Site Can’t Provide a Secure Connection” foutvarianten

Eén ding dat je moet weten over deze foutmelding is dat de manier waarop hij wordt gepresenteerd per browser sterk kan verschillen. Maar in elk geval zal de melding iets zeggen over beveiligde verbindingen (secure connections).

Zo ziet de melding eruit in Google Chrome:

Secure connection foutmelding in Google Chrome.
Secure connection foutmelding in Google Chrome.

In Mozilla Firefox ziet het er zo uit:

Secure connection foutmelding in Mozilla Firefox.
Secure connection foutmelding in Mozilla Firefox.

En zo in Microsoft Edge:

Secure connection foutmelding in Microsoft Edge.
Secure connection foutmelding in Microsoft Edge.

Zoals je kan zien bieden de meeste browsers weinig informatie rond de foutmelding. Firefox geeft je tenminste al een beetje een richting waarin je kan gaan zoeken, maar dat is nog steeds vrij vraag. Maar geen zorgen, in dit artikel zullen we je alles duidelijk uitleggen.

Wat zijn de oorzaken van “This Site Can’t Provide a Secure Connection”?

Dat je een melding te zien krijgt over de beveiliging van je website betekent dat nog niet meteen dat je website onbeveiligd is. Alhoewel het wel kan, zal het meestal wel meevallen. De meest voorkomende oorzaken zijn in twee soorten op te delen: problemen met je browsers, en problemen met de instellingen van de website.

Wanneer je de foutmelding wel in de ene browser ziet, maar alles prima werkt in een andere browser, ligt het eigenlijk altijd aan de browser (meestal aan de cache). Zie je de foutmelding in alle browsers, dan ligt het probleem aan je computer of de website.

We bekijken de meest voorkomende oorzaken van deze foutmelding:

Je lokale omgeving heeft geen SSL-certificaat

Wanneer je een lokale omgeving zoals MAMP gebruikt, heb je waarschijnlijk geen certificaat voor je website. Dit zou je eerste stap moeten zijn, aangezien het waarschijnlijk de oorzaak van het probleem is. Wanneer je op zoek bent naar een krachtige lokale developmenttool met automatische SSL certificaten voor alle sites, kijk dan eens naar DevKinsta.

Verouderde SSL caches in de browser

Ook dit is een veelvoorkomende oorzaak. Webbrowser slaan SSL-certificaten op in een cache, net zoals veel andere data. Dit zorgt ervoor dat ze het certificaat niet bij elk bezoek hoeven te controleren, wat het browsen veel sneller maakt voor jou. Maar als je SSL-certificaat verandert en de browser nog altijd de oude versie laadt uit de cache, kan dit een fout veroorzaken.

Onjuiste instellingen voor datum en tijd op je computer

Wanneer je computer op de verkeerde tijd of datum staat, kan dat problemen veroorzaken met het controleren van een SSL-certificaat. Gelukkig is dat makkelijk op te lossen.

Problematische browser extensies

Een verkeerd ingestelde of problematische browser extensie kan ook problemen veroorzaken met het controleren van certificaten. Alhoewel dit ook kwaadaardig kan zijn, is het meestal gewoon een foutje in de code.

Overijverige antivirus software

Antivirus software die je verbindingen realtime scant kan ook deze melding veroorzaken. Een foutje in de code kan als risico worden gedetecteerd, of je instellingen zijn gewoon te conservatief.

Een ongeldig of verlopen SSL-certificaat

Wanneer het SSL-certificaat van je website verlopen is of ongeldig, zal je deze foutmelding zien. Certificaten moeten regelmatig vernieuwd

In het volgende deel zullen we kijken hoe je de foutmelding over een veilige verbinding in MAMP kan oplossen.

Hoe repareer je de “This Site Can’t Provide a Secure Connection” foutmelding bij gebruik van MAMP?

Zoals eerder gezegd is de meest waarschijnlijke oorzaak van dit probleem bij een MAMP installatie dat je localhost omgeving geen SSL-certificaat heeft. Gelukkig is het vrij eenvoudig om er een te maken via OpenSSL, en dat zou meteen de foutmelding moeten oplossen. De volgende instructies zijn geschreven voor macOS gebruikers, maar zouden net zo moeten werken op Linux.

1. Maak een root SSL-certificaat

Allereerst moet je een root SSL-certificaat maken, een soort basiscertificaat. Hiermee kan je de certificaten voor je verschillende domeinen ondertekenen.

Om te beginnen open je de Terminal op je computer, en voer je de volgende opdracht in:

openssl genrsa -des3 -out rootCA.key 2048

Deze opdracht creëert een RSA-2048 key met de bestandsnaam rootCA.key. Je gebruikt dit om het root certificaat aan te maken. Je zal ook om een wachtwoord gevraagd worden, sla dat ergens op, want je hebt het nodig bij het maken van nieuwe certificaten.

Vervolgens kan je deze opdracht intypen om het root SSL-certificaat aan te maken:

openssl req -x509 -new -nodes -key rootCA.key -sha256 -days 1024 -out rootCA.pem

Het certificaat zal opgeslagen worden in het rootCA.pem bestand. Het cijfer “1024” staat voor het aantal dagen dat het certificaat geldig blijft, en je kan dat op elke gewenste waarde zetten.

2. Maak het root certificaat betrouwbaar

Nu het root certificaat bestaat, moet je het besturingssysteem vertellen dat dit een betrouwbaar bestand is. Dat zorgt ervoor dat toekomstige certificaten die je op basis hiervan aanmaakt, standaard door het systeem vertrouwd worden.

Dit doe je door de Keychain Access app op je macOS te openen, en vervolgens op System en dan Certificates te klikken. Daarna selecteer je File> Import Items, en vervolgens selecteer je het rootCA.pem certificaat dat gemaakt is in de laatste stap.

Nadat je dit hebt geïmporteerd kan je erop dubbelklikken, en het de optie When using this certificate veranderen naar Always Trust. Nu ben je klaar om een SSL-certificaat voor je specifieke domein aan te maken.

3. OpenSSL configuratiebestanden aanmaken

Nu moet je een configuratiebestand aanmaken waar de OpenSSL instellingen in opgeslagen kunnen worden die je nodig hebt voor het maken van certificaten. Om te beginnen maak je een bestand aan met de naam server.csr.cnf. Daar moet het volgende instaan:

[req]
default_bits = 2048
prompt = no
default_md = sha256
distinguished_name = dn
[dn]
C=US
ST=RandomState
L=RandomCity
O=RandomOrganization
OU=RandomOrganizationUnit
[email protected]
CN = localhost
Save this file, then create another one named v3.ext, and add the following:
authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
subjectAltName = @alt_names
[alt_names]
DNS.1 = localhost

Vervolgens moet je een key aanmaken om je SSL-certificaat voor je domein mee te ondertekenen.

4. een certificaat key aanmaken voor localhost

Ga terug naar de Terminal en voer de volgende opdracht in om een key aan te maken voor localhost:

openssl req -new -sha256 -nodes -out server.csr -newkey rsa:2048 -keyout server.key -config <( cat server.csr.cnf )

De key wordt opgeslagen in het bestand server.key.

5. Maak een SSL-certificaat voor je lokale domein

Bijna klaar! Tijd om een SSL-certificaat aan te maken voor localhost. Dit doe je door de volgende opdracht in de Terminal te typen:

openssl x509 -req -in server.csr -CA rootCA.pem -CAkey rootCA.key -CAcreateserial -out server.crt -days 500 -sha256 -extfile v3.ext

Deze opdracht maakt een certificaatbestand met de naam server.crt.

6. Activeer het SSL-certificaat voor localhost

Als laatste kopieer je de bestanden server.key en server.crt die je in de vorige stappen gemaakt hebt naar de map waar je MAMP hebt geïnstalleerd. Je kan nu HTTPS inschakelen voor je lokale installatie van WordPress, zonder de foutmelding “This site can’t provide a secure connection” te krijgen.

Samenvatting

De melding “This site can’t provide a secure connection” in MAMP zorgt er niet alleen voor dat je niet bij je site kan, maar kan ook zorgwekkend zijn vanwege de mogelijke beveiligingsrisico’s. Gelukkig valt het meestal allemaal wel mee, en is het eenvoudig op te lossen.

Deze foutmelding betekent meestal dat er een probleem is met de instellingen van je browser of het SSL-certificaat op je website (of localhost, waarop je meestal geen certificaat zal hebben). Het probleem los je op door een SSL-certificaat aan te maken voor localhost door middel van OpenSSL. Door bovenstaande instructies te volgen, zou je de foutmelding zo opgelost moeten hebben, zodat je weer gewoon verder kan.