SLBCloud
Intermédiaire8 min de lecture

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 :

TypeNomValeur
A@203.0.113.10
Awww203.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.

bash
dig +short mon-domaine.fr

2. Servir le site

/etc/nginx/sites-available/mon-domaine.fr

nginx
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;
    }
}
bash
sudo ln -s /etc/nginx/sites-available/mon-domaine.fr /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx

nginx -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

bash
sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d mon-domaine.fr -d www.mon-domaine.fr

Certbot 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 :

bash
sudo certbot renew --dry-run

Le 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é

MessageCause
Timeout during connectLe port 80 est fermé, ou le DNS ne pointe pas encore ici
Invalid response ... 404Le vhost ne sert pas le bon dossier
too many certificates already issuedLimite Let's Encrypt atteinte : attendre une semaine, ou tester avec --dry-run
NXDOMAINLe 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