Hoofdstuk 5 · 5.2
nginx met een certificaat van Let's Encrypt
Ken je nginx al, of gebruik je software die een nginx-configuratie meelevert? Dan gebruik je nginx met certbot. certbot vraagt het certificaat aan, past je configuratie aan en vernieuwt het certificaat automatisch.
nginx en een site
anna@web1:~$ sudo apt install nginx
anna@web1:~$ sudo mkdir -p /srv/www/example.com
anna@web1:~$ sudo nano /etc/nginx/sites-available/example.com
server {
listen 80;
listen [::]:80;
server_name example.com www.example.com;
root /srv/www/example.com;
index index.html;
}
anna@web1:~$ sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
anna@web1:~$ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
anna@web1:~$ sudo systemctl reload nginx
Test altijd met nginx -t voordat je herlaadt. Met een fout in de configuratie start nginx niet meer.
Het certificaat aanvragen
anna@web1:~$ sudo apt install certbot python3-certbot-nginx
anna@web1:~$ sudo certbot --nginx -d example.com -d www.example.com
certbot vraagt de eerste keer je e-mailadres en of je akkoord gaat met de voorwaarden. Daarna past hij je server-blok aan voor https en stuurt hij http door naar https.
Vernieuwen gaat vanzelf
De certificaten van Let's Encrypt zijn kort geldig en worden automatisch vernieuwd. Controleer of dat werkt:
anna@web1:~$ sudo certbot renew --dry-run
anna@web1:~$ systemctl list-timers | grep certbot
Let's Encrypt stuurt geen herinneringsmails meer als een certificaat bijna verloopt. Laat Uptime Kuma de geldigheid bewaken (zie Uptime Kuma: je sites en server bewaken).
Let op: Let's Encrypt heeft limieten op het aantal certificaten. Wil je eerst oefenen, voeg dan --test-cert toe: dan krijg je een testcertificaat dat browsers niet vertrouwen, maar dat niet meetelt.
