Quand j’ai monté mon premier VPS pour héberger seigi-tech.fr et portfolio.seigi-tech.fr, j’ai buté sur une question qui semble triviale de l’extérieur : comment faire pointer plusieurs domaines et sous-domaines vers le même serveur tout en obtenant un certificat HTTPS valide pour chacun ? Voici ce que j’ai mis en place, étape par étape, sans raccourcis.
Le problème : un seul serveur, plusieurs applications
Un VPS n’a qu’une seule adresse IP publique. Pourtant, on y héberge souvent plusieurs services en même temps :
seigi-tech.fr→ le blog principal (Astro)portfolio.seigi-tech.fr→ le portfolio (Next.js)n8n.seigi-tech.fr→ l’instance d’automatisation (n8n)
Sans outil intermédiaire, le serveur ne sait pas vers quelle application router une requête entrante. Tout arrive sur le port 443 sans distinction. Le reverse proxy résout ce problème.
C’est quoi un reverse proxy, concrètement ?
Pense à un standardiste. Chaque visiteur arrive par la même porte (le port 443 de ton VPS), mais le standardiste regarde le nom de domaine demandé et le redirige vers la bonne application ou le bon conteneur Docker.
Le reverse proxy de Coolify utilise Traefik. C’est un outil open source qui écoute les événements Docker en temps réel. Dès qu’un nouveau conteneur démarre avec les bons labels, Traefik crée la règle de routage correspondante. Tu n’as pas besoin de toucher aux fichiers de configuration.
Internet
│
▼
[VPS :80/:443]
│
▼
[Traefik : reverse proxy]
├── seigi-tech.fr → Conteneur Astro (port 4321)
├── portfolio.seigi-tech.fr → Conteneur Next.js (port 3000)
└── n8n.seigi-tech.fr → Conteneur n8n (port 5678)
Traefik gère aussi Let’s Encrypt nativement. Il demande et renouvelle les certificats SSL pour chaque domaine déclaré de façon automatique.
Étape 1 : Configurer sa zone DNS chez Hostinger
Avant que Traefik puisse router les requêtes, les noms de domaine doivent pointer vers l’IP de ton VPS. Tout se passe chez ton registrar, ici Hostinger, via hPanel.
Pour le domaine racine (seigi-tech.fr) et les sous-domaines explicites :
- Connecte-toi sur hpanel.hostinger.com
- Va dans Domaines puis clique sur Gérer à côté de
seigi-tech.fr - Sélectionne DNS / Serveurs de noms
- Ajoute les enregistrements suivants :
| Type | Nom | Pointe vers | TTL |
|---|---|---|---|
| A | @ | <IP_DE_TON_VPS> | 3600 |
| A | www | <IP_DE_TON_VPS> | 3600 |
| A | portfolio | <IP_DE_TON_VPS> | 3600 |
| A | n8n | <IP_DE_TON_VPS> | 3600 |
Le champ Nom @ représente le domaine racine (seigi-tech.fr). Pour portfolio, cela crée portfolio.seigi-tech.fr.
La version avancée : le wildcard DNS
Si tu prévois de créer beaucoup de sous-domaines (ou des sous-domaines dynamiques pour les preview deployments de Coolify), un enregistrement wildcard couvre tout d’un coup :
| Type | Nom | Pointe vers | TTL |
|---|---|---|---|
| A | * | <IP_DE_TON_VPS> | 3600 |
N’importe quel sous-domaine de seigi-tech.fr pointe alors vers ton VPS : portfolio.seigi-tech.fr, blog.seigi-tech.fr, test.seigi-tech.fr. Plus besoin de créer un enregistrement A dédié à chaque fois.
Propagation DNS : Les changements DNS prennent entre quelques minutes et 48 heures pour se propager mondialement. Avec Hostinger et un TTL de 3600, c’est généralement réglé en moins de 30 minutes.
Étape 2 : Déclarer le wildcard dans Coolify
Une fois les DNS configurés, il faut indiquer à Coolify ton domaine de base pour qu’il génère des URLs pour tes applications.
- Dans l’interface Coolify, va dans Servers et clique sur ton serveur
- Dans l’onglet General, trouve le champ Wildcard Domain
- Entre ton domaine :
https://seigi-tech.fr - Sauvegarde
Quand tu crées une nouvelle application, Coolify proposera désormais un sous-domaine du type nomapp.seigi-tech.fr.
Étape 3 : Déployer une application et activer HTTPS
Pour chaque application déployée dans Coolify, renseigne son domaine dans le champ prévu en commençant par https://.
Par exemple, pour le portfolio :
- Dans Coolify, ouvre ton application portfolio
- Dans l’onglet General, champ Domains : entre
https://portfolio.seigi-tech.fr - Clique sur Save puis Redeploy
Coolify transmet l’information à Traefik, qui va alors :
- Créer une règle de routage : toute requête vers
portfolio.seigi-tech.frpointe vers ce conteneur - Demander un certificat SSL auprès de Let’s Encrypt via le HTTP challenge
- Configurer la redirection HTTP vers HTTPS
L’application devient accessible en HTTPS avec un cadenas vert en moins d’une minute.
Comment Traefik obtient le certificat SSL
Let’s Encrypt est une autorité de certification gratuite qui délivre des certificats SSL valides 90 jours. Pour prouver que tu contrôles bien le domaine, elle utilise un défi HTTP (HTTP challenge) :
- Let’s Encrypt demande à Traefik de placer un fichier temporaire sur
http://portfolio.seigi-tech.fr/.well-known/acme-challenge/TOKEN - Let’s Encrypt contacte cette URL pour vérifier qu’elle répond
- Si le fichier est accessible, le certificat est émis
- Traefik stocke le certificat dans
/data/coolify/proxy/certs/et le renouvelle avant son expiration
Tu n’as pas à ouvrir de terminal pour cela. Coolify et Traefik gèrent le cycle de vie du certificat.
Vérifier que tout fonctionne
Une fois les DNS propagés et l’application redéployée, tu peux vérifier l’installation :
# Vérifier que le DNS pointe bien vers ton VPS
dig portfolio.seigi-tech.fr +short
# Doit retourner l'IP de ton VPS
# Vérifier le certificat SSL
curl -vI https://portfolio.seigi-tech.fr 2>&1 | grep -E "issuer|expire|SSL"
Dans un navigateur, clique sur le cadenas. Le certificat doit indiquer Let’s Encrypt comme émetteur, avec une validité de 90 jours.
Ce que j’ai appris à la dure
Port 80 obligatoire ouvert : Le HTTP challenge de Let’s Encrypt nécessite que le port 80 de ton VPS soit accessible depuis l’extérieur. Si ton pare-feu le bloque, les certificats ne pourront pas être émis. Vérifie avec ufw status et ajoute ufw allow 80 si besoin.
Un domaine = une application : Coolify ne gère pas le path-based routing nativement (ex: seigi-tech.fr/portfolio). Utilise des sous-domaines dédiés plutôt que des chemins. C’est plus propre et préférable pour le SEO.
Les certificats wildcard nécessitent un DNS challenge (et une API chez ton registrar) au lieu du HTTP challenge. Les certificats par sous-domaine sont largement suffisants pour commencer et beaucoup plus simples à mettre en place.
Après quelques heures de configuration, dont la majeure partie passée à attendre la propagation DNS, tu obtiens une infrastructure sécurisée en HTTPS et facilement extensible. Ajouter un nouveau service demande deux actions : un enregistrement A chez Hostinger et un domaine dans Coolify.
Pour aller plus loin
- Installer Coolify sur un VPS Hostinger : Ce guide couvre l’installation complète en moins de 10 minutes si Coolify n’est pas encore sur ton serveur.
- Optimiser son blog Astro avec Cloudflare : Passe ton DNS dans Cloudflare pour ajouter un CDN mondial, un WAF et une protection DDoS gratuite.
- Sécuriser son VPS Linux : Verrouille ton serveur avec les clés SSH, UFW et Fail2ban avant d’exposer tes services sur internet.