Pointer un domaine et passer en HTTPS
Faire pointer un nom de domaine vers son serveur, servir un site avec nginx, et obtenir un certificat gratuit qui se renouvelle tout seul.
1. Faire pointer le domaine
Chez votre registrar, créez deux enregistrements vers l'adresse IP de votre serveur :
| Type | Nom | Valeur |
|---|---|---|
| A | @ | 203.0.113.10 |
| A | www | 203.0.113.10 |
| AAAA | @ | 2001:db8::10 (si vous avez une IPv6) |
La propagation prend de quelques minutes à quelques heures selon la durée de vie que votre zone annonce. Vérifiez avec dig plutôt qu'en rechargeant votre navigateur, qui garde sa propre mémoire.
dig +short mon-domaine.fr2. Servir le site
/etc/nginx/sites-available/mon-domaine.fr
server {
listen 80;
listen [::]:80;
server_name mon-domaine.fr www.mon-domaine.fr;
root /var/www/mon-domaine;
index index.html;
location / {
try_files $uri $uri/ =404;
}
}sudo ln -s /etc/nginx/sites-available/mon-domaine.fr /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginxnginx -t vérifie la syntaxe avant de recharger. Prenez l'habitude de ne jamais recharger sans l'avoir lancé : une accolade oubliée met tous vos sites à l'arrêt, pas seulement le nouveau.
3. Le certificat
sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d mon-domaine.fr -d www.mon-domaine.frCertbot modifie lui-même votre configuration nginx pour ajouter le HTTPS et la redirection depuis le HTTP. Le renouvellement automatique est installé en même temps, sous forme de minuteur systemd. Pour vérifier qu'il fonctionnera le jour venu :
sudo certbot renew --dry-runLe port 80 doit rester ouvert
Let's Encrypt valide votre domaine en venant chercher un fichier en HTTP. Si vous fermez le port 80 après avoir obtenu le certificat, le renouvellement échouera trois mois plus tard — et vous l'apprendrez par un site en erreur.
Quand le certificat refuse d'être délivré
| Message | Cause |
|---|---|
| Timeout during connect | Le port 80 est fermé, ou le DNS ne pointe pas encore ici |
| Invalid response ... 404 | Le vhost ne sert pas le bon dossier |
| too many certificates already issued | Limite Let's Encrypt atteinte : attendre une semaine, ou tester avec --dry-run |
| NXDOMAIN | Le sous-domaine n'existe pas dans la zone |
Bloqué malgré tout ? Ouvrez un ticket : on répond en français, et on regarde votre machine si besoin.
Ouvrir un ticket