Kennisbank ssl certificaten en https uitgelegd
gemiddeld 01 June 2026

ssl certificaten en https uitgelegd

SSL-certificaten en HTTPS uitgelegdDit artikel legt uit wat SSL/TLS-certificaten en HTTPS doen, hoe een beveiligde verbinding tot stand komt, en wat je nodig
Ssl Certificaten En Https Uitgelegd
✦ ✦ ✦

Ssl Certificaten En Https Uitgelegd

HistorieCheck Redactie  ·  01 June 2026  ·  Geschiedenis

SSL-certificaten en HTTPS uitgelegd

Dit artikel legt uit wat SSL/TLS-certificaten en HTTPS doen, hoe een beveiligde verbinding tot stand komt, en wat je nodig hebt om het zelf te implementeren. Gericht op developers en systeembeheerders die HTTPS willen begrijpen en configureren.

Vereisten - Basiskennis van web servers (bv. Apache 2.4, Nginx 1.24, of Caddy 2.7). - Toegang tot de serverconfiguratie (root of sudo). - Een domeinnaam met DNS die naar je server wijst. - OpenSSL 3.0 of hoger voor certificaatbeheer op de command line.

Stappen

1. Genereer een private key en CSR (Certificate Signing Request) Dit is de eerste stap om een TLS-certificaat aan te vragen bij een Certificate Authority (CA). Gebruik OpenSSL: ```bash openssl req -new -newkey rsa:2048 -nodes -keyout example.com.key -out example.com.csr ``` Vervang `example.com` door je domein. Tijdens de prompts vul je de domeinnaam in bij `Common Name`. Laat `A challenge password` leeg.

2. Vraag een certificaat aan bij een CA Stuur het `.csr`-bestand naar een CA zoals Let's Encrypt (gratis, via Certbot), DigiCert, of GlobalSign. Voor Let's Encrypt met Certbot: ```bash sudo certbot certonly --standalone -d example.com -d www.example.com ``` Certbot versie 2.9 of hoger vereist. Dit plaatst het certificaat en de private key in `/etc/letsencrypt/live/example.com/`.

3. Installeer het certificaat op je webserver Voor Nginx voeg je dit blok toe aan de server config (bv. `/etc/nginx/sites-available/example.com`): ```nginx server { listen 443 ssl; server_name example.com www.example.com;

ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;

root /var/www/example.com; index index.html; } ``` Vervang paden en server_name door jouw waarden. Gebruik `fullchain.pem` voor de complete certificaatketen.

4. Herstart de webserver Nginx of Apache moet de nieuwe configuratie laden. ```bash sudo systemctl reload nginx ``` Voor Apache: `sudo systemctl reload apache2`.

5. Configureer automatische vernieuwing Certificaten zijn maximaal 398 dagen geldig (sinds september 2020). Voor Let's Encrypt: ```bash sudo certbot renew --quiet ``` Voeg dit toe aan een cronjob (dagelijks): ```cron 0 3 * /usr/bin/certbot renew --quiet && systemctl reload nginx ``` Vervang `nginx` door `apache2` of je eigen service.

6. Activeer HSTS (optioneel maar aanbevolen) HTTP Strict Transport Security dwingt browsers om altijd HTTPS te gebruiken. Voeg header toe in Nginx: ```nginx add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" always; ``` Plaats dit in het `server`-blok van stap 3. Activeer pas als HTTPS volledig werkt, anders blokkeer je gebruikers.

Verificatie Controleer of de configuratie correct is en het slotje in de browser wordt getoond: ```bash curl -I https://example.com ``` Zoek in de output naar `HTTP/2 200` en `Strict-Transport-Security` als je HSTS hebt geactiveerd. Gebruik daarna [SSL Labs](https://www.ssllabs.com/ssltest/) voor een uitgebreide check: vul je domein in, wacht op de analyse, en controleer op een score van A of hoger.

Veelgestelde problemen

- Browser geeft 'certificaat niet vertrouwd' Oorzaak: De certificaatketen is incompleet. Controleer of je `fullchain.pem` gebruikt (niet alleen `cert.pem`). Voor Let's Encrypt zit de keten al in `fullchain.pem`.

- Certificaat verlopen ondanks cronjob Oorzaak: Certbot draait niet of de herlaadactie faalt. Test handmatig: ```bash sudo certbot renew --dry-run ``` Kijk of de cronjob correct is ingesteld (`crontab -l`) en of de logs geen fouten tonen (`sudo journalctl -u certbot.timer`).

- HTTPS werkt, maar sommige resources worden via HTTP geladen (mixed content) Oorzaak: Afbeeldingen, scripts of CSS worden op `http://` gelinkt. Vervang alle absolute URL's door `https://` of gebruik relatief pad (bv. `/assets/style.css`). Gebruik de browser console (F12 > Console) om gemengde content te vinden en corrigeren.

— ✦ —
← Terug naar kennisbank