Kennisbank ssl certificaten en https uitgelegd
gemiddeld 01 June 2026

ssl certificaten en https uitgelegd

SSL-certificaten en HTTPS uitgelegdDit artikel legt uit hoe TLS-certificaten en HTTPS werken voor developers die hun websites willen beveiligen.Vereisten-
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 hoe TLS-certificaten en HTTPS werken voor developers die hun websites willen beveiligen.

Vereisten

- Basiskennis van HTTP en webservers (Apache, Nginx of IIS) - Toegang tot een webserver (root of sudo) - OpenSSL versie 1.1.1 of hoger - Een domeinnaam met DNS-configuratie

Stappen

1. Genereer een Certificate Signing Request (CSR) en private key

Open een terminal op je server en voer uit: ```bash openssl req -new -newkey rsa:2048 -nodes -keyout domein.key -out domein.csr ``` Vul de gevraagde gegevens in. De Common Name (CN) moet exact overeenkomen met je domeinnaam.

2. Vraag een certificaat aan bij een Certificate Authority (CA)

Gebruik Let's Encrypt (gratis, 90 dagen geldig) via Certbot: ```bash sudo apt install certbot python3-certbot-nginx sudo certbot --nginx -d voorbeeld.nl -d www.voorbeeld.nl ``` Of voor Apache: ```bash sudo certbot --apache -d voorbeeld.nl ```

3. Controleer de certificaatketen

Certbot slaat bestanden op in `/etc/letsencrypt/live/voorbeeld.nl/`. Controleer of de volledige keten aanwezig is: ```bash ls -la /etc/letsencrypt/live/voorbeeld.nl/ ``` Je ziet `fullchain.pem` (server + intermediates) en `privkey.pem` (private key).

4. Configureer de webserver voor HTTPS

Voor Nginx: voeg in de server block toe: ```nginx server { listen 443 ssl http2; server_name voorbeeld.nl www.voorbeeld.nl; ssl_certificate /etc/letsencrypt/live/voorbeeld.nl/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/voorbeeld.nl/privkey.pem; ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384; } ```

5. Schakel verouderde protocollen en ciphers uit

Voeg in dezelfde server block toe: ```nginx ssl_prefer_server_ciphers on; ssl_session_cache shared:SSL:10m; ssl_session_timeout 1d; ```

6. Stel HTTP naar HTTPS redirect in

Voeg een apart server block toe voor poort 80: ```nginx server { listen 80; server_name voorbeeld.nl www.voorbeeld.nl; return 301 https://$host$request_uri; } ```

7. Test de configuratie en herlaad Nginx

```bash sudo nginx -t sudo systemctl reload nginx ```

8. Automatiseer certificaatvernieuwing

Certbot stelt standaard een cronjob of systemd-timer in. Controleer of deze actief is: ```bash sudo systemctl status certbot.timer ``` Forceer een testvernieuwing: ```bash sudo certbot renew --dry-run ```

Verificatie

1. Open je website in een browser: `https://voorbeeld.nl` 2. Klik op het slotje in de adresbalk — je ziet "Verbinding is veilig" en het certificaat. 3. Test de SSL-configuratie met SSL Labs: ```bash curl https://www.ssllabs.com/ssltest/analyze.html?d=voorbeeld.nl ``` 4. Gebruik `openssl` om handmatig te controleren: ```bash openssl s_client -connect voorbeeld.nl:443 -servername voorbeeld.nl ```

Veelgestelde problemen

Probleem 1: Browser toont "Niet-vertrouwd certificaat" - Oorzaak: Ontbrekende tussenliggende certificaten (intermediates). - Oplossing: Zorg dat `fullchain.pem` wordt gebruikt i.p.v. alleen `cert.pem`.

Probleem 2: HTTP werkt, HTTPS niet - Oorzaak: Firewall blokkeert poort 443. - Oplossing: Open poort 443 met `sudo ufw allow 443/tcp` of cloud-firewallregels.

Probleem 3: Certificaat vernieuwt niet automatisch - Oorzaak: Certbot-timer is uitgeschakeld of versie is verouderd. - Oplossing: Controleer met `sudo certbot renew --dry-run` en upgrade: `sudo apt update && sudo apt upgrade certbot`.

Certificaten blijven een terugkerende taak — zorg dat je vernieuwing test voor de vervaldatum.

— ✦ —
← Terug naar kennisbank