Comment configurer un proxy DNS pour rediriger votre domaine personnalisé vers Everest

Vous utilisez la solution Everest et vous souhaitez offrir à vos clients une expérience plus professionnelle en utilisant un domaine personnalisé au lieu de l’URL par défaut <plateforme>.everst.io. Dans cet article, nous allons explorer comment configurer un proxy DNS pour rediriger votre domaine personnalisé vers votre instance Everest, en utilisant Apache2, Nginx ou Cloudflare.

Pourquoi utiliser un domaine personnalisé ?

Par défaut, votre instance Everest est hébergée sur un sous-domaine everst.io, par exemple masociete.everst.io. Bien que cela fonctionne parfaitement, l’utilisation d’un domaine personnalisé comme app.votreentreprise.com présente plusieurs avantages:

Prérequis

Avant de commencer, assurez-vous de disposer:

  • D’un nom de domaine que vous contrôlez
  • D’un accès à la gestion DNS de ce domaine
  • D’un serveur où vous pouvez installer Apache2 ou Nginx (si vous n’utilisez pas Cloudflare)
  • Des droits administrateur sur ce serveur

Option 1: Configuration avec Apache2

Apache2 est l’un des serveurs web les plus populaires. Voici comment configurer un proxy DNS avec Apache2:

Étape 1: Installation des modules nécessaires

sudo a2enmod proxy
sudo a2enmod proxy_http
sudo a2enmod proxy_balancer
sudo a2enmod lbmethod_byrequests
sudo a2enmod rewrite
sudo a2enmod ssl
sudo systemctl restart apache2

Étape 2: Création d’un fichier de configuration de site virtuel

Créez un fichier dans /etc/apache2/sites-available/, par exemple votredomaine.conf:

sudo nano /etc/apache2/sites-available/votredomaine.conf

Ajoutez la configuration suivante:

<VirtualHost *:80>
    ServerName app.votreentreprise.com
    
    # Redirection vers HTTPS
    RewriteEngine On
    RewriteRule ^(.*)$ https://%{HTTP_HOST}$1 [R=301,L]
</VirtualHost>

<VirtualHost *:443>
    ServerName app.votreentreprise.com
    
    # Configuration SSL
    SSLEngine on
    SSLCertificateFile /chemin/vers/votre/certificat.crt
    SSLCertificateKeyFile /chemin/vers/votre/cle_privee.key
    SSLCertificateChainFile /chemin/vers/votre/chaine.crt
    
    # Configuration du proxy
    ProxyPreserveHost On
    ProxyPass / https://masociete.everst.io/
    ProxyPassReverse / https://masociete.everst.io/
    
    # En-têtes supplémentaires pour le proxy
    RequestHeader set X-Forwarded-Proto "https"
    RequestHeader set X-Forwarded-Port "443"
    
    # Logs
    ErrorLog ${APACHE_LOG_DIR}/app.votreentreprise.com-error.log
    CustomLog ${APACHE_LOG_DIR}/app.votreentreprise.com-access.log combined
</VirtualHost>

Étape 3: Activation du site et redémarrage d’Apache2

sudo a2ensite votredomaine.conf
sudo systemctl restart apache2

Option 2: Configuration avec Nginx

Nginx est connu pour ses performances élevées et sa consommation de ressources réduite. Voici comment configurer un proxy DNS avec Nginx:

Étape 1: Installation de Nginx

sudo apt update
sudo apt install nginx

Étape 2: Création d’un fichier de configuration de site

Créez un fichier dans /etc/nginx/sites-available/, par exemple votredomaine:

sudo nano /etc/nginx/sites-available/votredomaine

Ajoutez la configuration suivante:

server {
    listen 80;
    server_name app.votreentreprise.com;
    
    # Redirection vers HTTPS
    return 301 https://$host$request_uri;
}

server {
    listen 443 ssl;
    server_name app.votreentreprise.com;
    
    # Configuration SSL
    ssl_certificate /chemin/vers/votre/certificat_fullchain.pem;
    ssl_certificate_key /chemin/vers/votre/cle_privee.pem;
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_prefer_server_ciphers on;
    ssl_ciphers ECDHE-RSA-AES256-GCM-SHA512:DHE-RSA-AES256-GCM-SHA512:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384;
    
    # Configuration du proxy
    location / {
        proxy_pass https://masociete.everst.io;
        proxy_set_header Host masociete.everst.io;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Forwarded-Host $host;
        proxy_set_header X-Forwarded-Port $server_port;
    }
    
    # Logs
    access_log /var/log/nginx/app.votreentreprise.com-access.log;
    error_log /var/log/nginx/app.votreentreprise.com-error.log;
}

Étape 3: Activation du site et redémarrage de Nginx

sudo ln -s /etc/nginx/sites-available/votredomaine /etc/nginx/sites-enabled/
sudo nginx -t  # Vérifier la configuration
sudo systemctl restart nginx

Option 3: Configuration avec Cloudflare (Recommandée)

Cloudflare offre une solution simplifiée qui combine DNS, proxy et certificats SSL gratuits. C’est l’option la plus simple et la plus sécurisée:

Étape 1: Créer un compte Cloudflare et ajouter votre domaine

  1. Inscrivez-vous sur Cloudflare
  2. Ajoutez votre domaine à Cloudflare
  3. Suivez les instructions pour mettre à jour vos serveurs DNS chez votre registrar

Étape 2: Configurer l’enregistrement DNS pour votre sous-domaine

  1. Dans le tableau de bord Cloudflare, allez dans la section “DNS”
  2. Cliquez sur “Ajouter un enregistrement”
  3. Configurez comme suit:
    • Type: CNAME
    • Nom: app (ou le sous-domaine souhaité)
    • Contenu: masociete.everst.io (votre instance Everest)
    • Proxy activé: Oui (le nuage doit être orange)
    • TTL: Auto

Étape 3: Configurer SSL

  1. Dans le tableau de bord Cloudflare, allez dans la section “SSL/TLS”
  2. Définissez le mode SSL sur “Flexible” ou “Full” (préférable)
  3. Activez les certificats SSL universels

Vérification de la configuration

Une fois la configuration terminée avec l’une des méthodes ci-dessus, testez votre domaine personnalisé en y accédant dans un navigateur. Vous devriez voir votre instance Everest s’afficher, mais avec votre URL personnalisée.

Conclusion

La configuration d’un proxy DNS pour rediriger un domaine personnalisé vers votre instance Everest améliore considérablement l’expérience utilisateur et renforce votre image de marque. Que vous choisissiez Apache2, Nginx ou Cloudflare, ce guide vous a fourni les étapes nécessaires pour mettre en place cette redirection.

Pour les utilisateurs moins techniques ou ceux qui préfèrent une solution clé en main, Cloudflare reste l’option la plus simple à mettre en œuvre, avec l’avantage supplémentaire de fournir une protection contre les attaques DDoS et d’autres fonctionnalités de sécurité.

N’hésitez pas à adapter ces configurations en fonction de vos besoins spécifiques et à consulter la documentation officielle d’Apache2, Nginx ou Cloudflare pour des options de configuration plus avancées.