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 zijn en hoe je HTTPS correct implementeert op je Pixzo-server.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 wat SSL/TLS-certificaten zijn en hoe je HTTPS correct implementeert op je Pixzo-server.

Vereisten

- Toegang tot je webserver (Apache 2.4.41+ of Nginx 1.18+) - Domeinnaam met DNS-beheer - Root- of sudo-toegang via SSH - OpenSSL versie 1.1.1 of hoger geïnstalleerd

Stappen

1. Genereer een private key en CSR

Maak een 2048-bit RSA private key en een Certificate Signing Request (CSR) voor je domein:

```bash openssl req -new -newkey rsa:2048 -nodes -keyout jouwdomein.key -out jouwdomein.csr ```

Vul tijdens het proces je domeinnaam (Common Name) en organisatiegegevens in.

2. Vraag een certificaat aan bij een CA

Gebruik Let's Encrypt voor een gratis DV-certificaat via Certbot:

```bash sudo certbot certonly --standalone -d jouwdomein.nl -d www.jouwdomein.nl ```

Certbot plaatst het certificaat in `/etc/letsencrypt/live/jouwdomein.nl/`.

3. Download de intermediate certificate

Haal de juiste intermediate certificate chain voor je CA. Voor Let's Encrypt is dit automatisch meegeleverd. Controleer de keten:

```bash openssl crl2pkcs7 -nocrl -certfile /etc/letsencrypt/live/jouwdomein.nl/fullchain.pem | openssl pkcs7 -print_certs -text | grep "Subject:" ```

4. Configureer je webserver voor TLS 1.2 of hoger

Voeg in je Apache virtual host of Nginx server block de volgende configuratie:

```apache Apache SSLEngine on SSLCertificateFile /etc/letsencrypt/live/jouwdomein.nl/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/jouwdomein.nl/privkey.pem SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1 SSLCipherSuite ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256 SSLHonorCipherOrder on ```

```nginx Nginx ssl_certificate /etc/letsencrypt/live/jouwdomein.nl/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/jouwdomein.nl/privkey.pem; ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256; ssl_prefer_server_ciphers on; ```

5. Verwijder zwakke cipher suites

Sluit RC4, SHA-1 en 3DES uit in je cipher configuratie:

```bash OpenSSL test: RC4 mag niet voorkomen openssl ciphers -v 'ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256' | grep -i rc4 ```

6. Zet HTTP-naar-HTTPS redirect aan

Voeg een redirect toe naar HTTPS voor al het HTTP-verkeer:

```apache ServerName jouwdomein.nl Redirect permanent / https://jouwdomein.nl/ ```

7. Herlaad de serverconfiguratie

Pas de wijzigingen toe zonder downtime:

```bash sudo systemctl reload apache2 voor Apache sudo systemctl reload nginx voor Nginx ```

8. Stel automatische vernieuwing in (Let's Encrypt)

Certbot kan certificaten automatisch verlengen. Test de vernieuwing:

```bash sudo certbot renew --dry-run ```

Voeg een cronjob toe voor dagelijkse controle (`0 3 * /usr/bin/certbot renew --quiet`).

Verificatie

Controleer of je HTTPS correct werkt:

```bash curl -vI https://jouwdomein.nl 2>&1 | grep -E "(SSL connection|TLS|HTTP/2)" ```

Gebruik de SSL Labs test (ssllabs.com/ssltest) of de OpenSSL s_client:

```bash openssl s_client -connect jouwdomein.nl:443 -servername jouwdomein.nl 2>/dev/null | openssl x509 -noout -dates -subject -issuer ```

Veelgestelde problemen

Certificaat wordt niet vertrouwd door browser

De intermediate certificate ontbreekt in de keten. Hele keten moet worden meegeleverd — controleer met: ```bash openssl s_client -connect jouwdomein.nl:443 -showcerts | grep "s:" | uniq ``` Je ziet het rootcertificaat niet; alleen het eindcertificaat en intermediate moeten zichtbaar zijn. Voeg bij Apache `SSLCertificateChainFile` of bij Nginx het volledige chain-bestand toe.

Foutmelding "certificate has expired" na installatie

Controleer of de systeemtijd correct is gesynchroniseerd: ```bash timedatectl status ``` Forceer NTP-sync: `sudo timedatectl set-ntp true`.

TLS 1.0 of 1.1 nog actief ondanks configuratie

Sommige load balancers of reverse proxies herschrijven de SSL-configuratie. Controleer of er geen globale SSL-instellingen in `/etc/ssl/` of een `ssl.conf`-bestand de lokale instellingen overschrijven met `grep -r "SSLProtocol\|ssl_protocols" /etc/`.

— ✦ —
← Terug naar kennisbank