Configuration DNS Wildcard
Le DNS générique (wildcard) permet des sous-domaines locataires comme acme.yourdomain.com, techcorp.yourdomain.com, etc. C'est optionnel — FeedbackPulse fonctionne très bien avec des URL basées sur des slugs (ex. : /wall/acme-corp) sans DNS générique.
Ai-je besoin du DNS générique ?
| Scénario | DNS générique nécessaire ? |
|---|---|
Les locataires utilisent des pages publiques basées sur des slugs (/wall/acme-corp) | Non |
Les locataires veulent leur propre sous-domaine (acme.yourdomain.com) | Oui |
Les locataires apportent leur propre domaine personnalisé (feedback.acme.com) | Non (utilisez CNAME à la place) |
Ce dont vous avez besoin
- Un enregistrement DNS A générique :
*.yourdomain.com→ IP de votre serveur - Un certificat SSL générique : couvre
*.yourdomain.com - Configuration du serveur web : accepte tous les sous-domaines
Étape 1 : Ajouter l'enregistrement DNS
Accédez au panneau de gestion DNS de votre registraire de domaine et ajoutez :
| Type | Nom/Hôte | Valeur | TTL |
|---|---|---|---|
| A | * | 123.456.789.0 (IP de votre serveur) | 300 |
Vous avez également besoin de l'enregistrement A habituel pour le domaine racine :
Type Nom/Hôte Valeur A @123.456.789.0
Instructions spécifiques aux fournisseurs
Cloudflare
- Connectez-vous au tableau de bord Cloudflare
- Sélectionnez votre domaine
- Allez dans DNS → Enregistrements
- Cliquez sur Ajouter un enregistrement
- Type :
A| Nom :*| IPv4 : IP de votre serveur | Proxy : DNS uniquement (nuage gris) - Cliquez sur Enregistrer
Important : Pour les sous-domaines génériques, configurez le proxy Cloudflare sur DNS uniquement (nuage gris), pas sur Proxy activé (nuage orange). Le plan gratuit de Cloudflare ne proxifie pas les sous-domaines génériques.
Namecheap
- Connectez-vous → Liste des domaines → Gérer votre domaine
- Allez dans DNS avancé
- Cliquez sur Ajouter un nouvel enregistrement
- Type :
Enregistrement A| Hôte :*| Valeur : IP de votre serveur | TTL : Automatique - Enregistrez
GoDaddy
- Connectez-vous → Mes produits → DNS pour votre domaine
- Cliquez sur Ajouter un enregistrement
- Type :
A| Nom :*| Valeur : IP de votre serveur | TTL : 600 - Enregistrez
Google Domains / Google Cloud DNS
- Allez sur Google Domains
- Sélectionnez votre domaine → DNS
- Sous Enregistrements personnalisés, ajoutez :
- Hôte :
*| Type :A| Données : IP de votre serveur - Enregistrez
AWS Route 53
- Allez dans Route 53 → Zones hébergées → sélectionnez votre domaine
- Cliquez sur Créer un enregistrement
- Nom de l'enregistrement :
*| Type :A - Valeur : IP de votre serveur | TTL :
300 - Cliquez sur Créer les enregistrements
DigitalOcean DNS
- Allez dans Réseau → Domaines
- Sélectionnez votre domaine
- Ajoutez : Type
A| Nom d'hôte*| Dirigera vers : IP de votre serveur | TTL :300
Hetzner DNS
- Allez sur la console DNS Hetzner
- Sélectionnez votre zone
- Ajoutez un enregistrement : Type
A| Nom*| Valeur : IP de votre serveur
Étape 2 : Obtenir un certificat SSL générique
Option A : Let's Encrypt avec défi DNS (gratuit)
Les certificats génériques de Let's Encrypt nécessitent le défi DNS-01 (pas HTTP) :
# Installer Certbot avec le plugin DNS pour votre fournisseur
# Exemple : Cloudflare
sudo apt install certbot python3-certbot-dns-cloudflare
# Créer le fichier d'identifiants Cloudflare
sudo mkdir -p /etc/letsencrypt
sudo nano /etc/letsencrypt/cloudflare.ini
Ajoutez votre jeton API Cloudflare :
dns_cloudflare_api_token = your_cloudflare_api_token_here
sudo chmod 600 /etc/letsencrypt/cloudflare.ini
# Obtenir le certificat générique
sudo certbot certonly \
--dns-cloudflare \
--dns-cloudflare-credentials /etc/letsencrypt/cloudflare.ini \
-d yourdomain.com \
-d "*.yourdomain.com"
Plugins DNS pour les autres fournisseurs
| Fournisseur | Plugin Certbot | Installation |
|---|---|---|
| Cloudflare | python3-certbot-dns-cloudflare | sudo apt install python3-certbot-dns-cloudflare |
| Route 53 | python3-certbot-dns-route53 | sudo apt install python3-certbot-dns-route53 |
| DigitalOcean | python3-certbot-dns-digitalocean | sudo apt install python3-certbot-dns-digitalocean |
| Google Cloud | python3-certbot-dns-google | sudo apt install python3-certbot-dns-google |
Option B : Défi DNS manuel
Si votre fournisseur DNS n'a pas de plugin Certbot :
sudo certbot certonly --manual --preferred-challenges dns \
-d yourdomain.com -d "*.yourdomain.com"
Certbot vous demandera de créer un enregistrement TXT. Suivez les instructions.
Inconvénient du défi manuel : Vous devrez renouveler manuellement tous les 90 jours et mettre à jour l'enregistrement DNS TXT à chaque fois.
Option C : Certificat générique payant
Achetez auprès de fournisseurs comme :
- Comodo/Sectigo (~70 $/an)
- DigiCert (~400 $/an)
- RapidSSL (~125 $/an)
Étape 3 : Configurer votre serveur web
Consultez les sections génériques dans :
- Configuration Apache — cherchez la section "Support des sous-domaines génériques"
- Configuration Nginx — cherchez la section "Support des sous-domaines génériques"
Clé : utilisez ServerAlias *.yourdomain.com (Apache) ou server_name yourdomain.com *.yourdomain.com; (Nginx).
Étape 4 : Vérifier que ça fonctionne
# Tester la résolution DNS pour un sous-domaine
dig test.yourdomain.com
# Devrait retourner l'IP de votre serveur dans la section ANSWER
# Tester avec curl
curl -I https://anything.yourdomain.com
# Devrait retourner un 200 ou une redirection (pas "could not resolve host")
Étape 5 : Configurer FeedbackPulse
Mettez à jour votre fichier .env :
# Définir le domaine de session pour autoriser les cookies sur les sous-domaines
SESSION_DOMAIN=.yourdomain.com
# URL principale de l'application (sans sous-domaine)
APP_URL=https://yourdomain.com
Notez le point initial dans
SESSION_DOMAIN=.yourdomain.com— cela permet aux cookies de session de fonctionner sur tous les sous-domaines.
Fonctionnement des sous-domaines dans FeedbackPulse
Lorsqu'une requête arrive à acme.yourdomain.com :
- Le middleware
ResolveTenantextrait le sous-domaine (acme) - Il recherche le locataire avec
subdomain = 'acme' - S'il est trouvé, le locataire est défini comme contexte actuel
- L'utilisateur voit la page de connexion ou le tableau de bord du locataire
Les locataires définissent leur sous-domaine lors de l'inscription. Vous pouvez également le définir manuellement dans le panneau d'administration.
Étapes suivantes
- Certificats SSL — plus de détails sur la configuration SSL
- Domaines personnalisés — permettre aux locataires d'utiliser leurs propres domaines