Skip to content

Nginx. Hôtes virtuels en mode constructeur ​

Un hôte virtuel est la configuration d’un seul site dans Nginx : le domaine, le port, le dossier racine des fichiers et les règles de traitement des requêtes. Un seul processus Nginx sert de nombreux sites, et chaque site correspond à son propre bloc server dans la configuration. Dans le panneau BeAdmin, vous pouvez créer et modifier un hôte avec un formulaire (mode constructeur) ; pour des directives non standard, passez en mode expert et éditez directement la configuration. Cet article traite du mode constructeur : création, modification, activation et désactivation, suppression. L’installation du module Nginx et la gestion globale du service font l’objet d’un article à part.

Créer un hôte virtuel ​

  1. Dans le menu latéral de la section Nginx, cliquez sur « Créer un hôte virtuel ».
  2. La page s’ouvre en mode constructeur. Remplissez les champs, puis cliquez sur « Créer ».

💡 Brouillon enregistré dans le navigateur

Si vous avez commencé à remplir le formulaire de création d’un hôte et que vous l’avez fermé sans cliquer sur « Créer », le panneau conserve votre saisie, que vous ayez rempli le formulaire en mode constructeur ou en mode expert. Quand vous reviendrez créer un hôte, une boîte de dialogue s’affichera : « Vous avez un formulaire non terminé. Voulez-vous continuer ? » Le bouton « Reprendre » recharge la saisie enregistrée dans le formulaire. Le brouillon est supprimé une fois l’hôte créé, ou si vous refusez explicitement de continuer.

Voici ce que signifie chaque champ du formulaire.

Nom de domaine ​

Le nom de domaine de l’hôte est l’adresse à laquelle le site sera accessible de l’extérieur. Le champ accepte un nom de domaine ou une adresse IP (IPv4 ou IPv6) : le premier convient à un site ordinaire, la seconde au cas où le serveur publie un site sans enregistrement DNS.

Vous ne pouvez pas créer deux hôtes avec la même paire « domaine + port » : si cette paire est déjà prise, le panneau le signale et refuse d’enregistrer le formulaire. Ainsi, example.com peut être mis en ligne en même temps sur les ports 80 et 8080, mais pas deux fois sur le port 80.

Une fois l’hôte créé, le nom de domaine ne peut plus être modifié. Si le domaine doit changer, le plus simple est de créer un nouvel hôte et de supprimer l’ancien.

Connexion en HTTPS ou en HTTP ​

Le protocole et le port de l’hôte se choisissent avec le commutateur « Connexion en HTTPS (port 443) » / « Connexion en HTTP (port 80) ». HTTPS est activé par défaut : c’est l’option recommandée. Quand HTTPS est activé, BeAdmin émet automatiquement un certificat Let’s Encrypt à la création de l’hôte et le renouvelle tant que l’hôte existe.

Si l’émission du certificat échoue, l’hôte est créé avec un certificat auto-signé provisoire, et le panneau affiche la notification « Hôte virtuel configuré avec un certificat auto-signé ». Pour comprendre comment fonctionne l’émission et comment réémettre le certificat manuellement, consultez l’article Émettre un certificat SSL ; pour le détail des messages d’erreur, consultez Résoudre les erreurs ACME lors de l’émission d’un certificat SSL.

Pour publier un site sur un port non standard (service interne, plusieurs sites sur des ports différents d’un même domaine), cliquez sur « Saisir le port manuellement » et indiquez le numéro. Tout port libre compris entre 1 et 65535 est accepté.

⚠️ HTTPS uniquement sur le port standard 443

BeAdmin n’émet de certificat Let’s Encrypt que sur le port HTTPS standard, le 443. Si vous avez choisi un port non standard, travaillez en HTTP ; si HTTPS est indispensable, installez votre propre certificat manuellement en mode expert.

Fichiers d’index ​

Ce champ définit les fichiers que Nginx renvoie lorsqu’une requête vise un répertoire — par exemple, quand on ouvre https://example.com/. La valeur par défaut est index.html index.htm. Les noms s’écrivent sur une seule ligne, séparés par des espaces, par ordre de priorité.

Les caractères ?, :, , et ; sont interdits dans les noms : le panneau les refuse et affiche un avertissement.

Si l’hôte contient une règle PHP, index.php passe automatiquement en tête de la liste — inutile de l’ajouter à la main. Quand vous supprimez la règle PHP, index.php disparaît lui aussi de la liste.

Chemin des fichiers ​

C’est le dossier racine des fichiers du site — la valeur qui se retrouve dans la directive root de la configuration Nginx. Vous pouvez choisir le dossier dans la boîte de dialogue de sélection ou saisir le chemin à la main.

Le répertoire doit exister sur le serveur et être lisible par le processus Nginx, sinon le site répond par une erreur 403 ou 404. Si vous prévoyez d’y déposer les fichiers plus tard, créez d’abord un répertoire vide.

Règles (location) ​

Les règles sont des blocs location de la configuration Nginx qui définissent comment traiter les requêtes selon leur chemin d’URL : servir des fichiers statiques, transmettre la requête à PHP, la relayer vers un autre service ou effectuer des redirections. Pour ajouter une règle à un hôte, déroulez le bloc « Options supplémentaires » sous les champs principaux et cliquez sur « Ajouter une règle » — le panneau vous propose de choisir un modèle :

  • « Règle racine » — traite les requêtes à la racine du site ; elle est toujours présente dans un hôte.
  • « Simple » — réponse statique ou service de fichiers de base selon le chemin.
  • « PHP (FastCGI) » — transmet les requêtes à PHP-FPM.
  • « Proxy inverse » — proxy_pass vers un serveur amont (par exemple Apache, une application Node ou un conteneur Docker).

Le détail de chaque modèle, ainsi que l’ajout et la suppression de règles, se trouvent dans l’article Nginx. Configurer les règles (location) d’un hôte virtuel.

Combiner Nginx et Apache ​

Si les deux modules sont installés sur le serveur, le schéma est toujours le même : Nginx se place en frontal et reçoit les requêtes d’Internet sur les ports 80 et 443, tandis qu’Apache sert de backend sur les ports locaux 127.0.0.1:8808 (HTTP) et 127.0.0.1:8843 (HTTPS). PHP, .htaccess et les modules Apache sont traités côté Apache ; Nginx relaie les requêtes et, au besoin, sert directement les fichiers statiques.

La configuration automatique ne fonctionne que dans un sens. Si vous installez Apache alors que Nginx est déjà en place, BeAdmin attribue à Apache les ports locaux 127.0.0.1:8808/8843. En revanche, si Apache a été installé en premier et que Nginx s’y ajoute ensuite, la page du module Nginx affiche un avertissement de conflit, et vous devez passer Apache en mode backend à la main : réinstallez le module Apache sur les ports locaux 127.0.0.1:8808/8843.

Dans un hôte virtuel Nginx, une seule règle de type « Proxy inverse » avec l’adresse http://127.0.0.1:8808 suffit pour cette association : le TLS est terminé sur Nginx, il n’y a donc généralement pas besoin d’utiliser le port 8843. La configuration de cette règle est décrite dans l’article Nginx. Configurer les règles (location) d’un hôte virtuel. Pour la configuration d’Apache, consultez Apache. Démarrage rapide.

Modifier un hôte virtuel ​

Ouvrez un hôte depuis la liste latérale de la section Nginx : le formulaire est le même qu’à la création, avec les différences suivantes :

  • Le champ « Nom de domaine » est inactif : le domaine ne change plus après la création.
  • Le port est toujours affiché dans un champ distinct (sans le commutateur HTTPS), et vous pouvez le modifier directement. Si vous saisissez 443, BeAdmin considère l’hôte comme un site HTTPS et émet un certificat Let’s Encrypt à l’enregistrement.

Pour enregistrer les modifications, cliquez sur « Mettre à jour » — le bouton n’est actif que lorsqu’il y a des modifications non enregistrées. Comme à la création, le panneau vérifie la configuration avant de l’appliquer et, en cas d’erreur, conserve la dernière version qui fonctionnait.

Activer et désactiver un hôte ​

L’état de l’hôte se change à côté du bouton d’enregistrement :

  • Sur la page de création : « Activer l’hôte virtuel » / « Désactiver l’hôte virtuel » (choix de l’état initial).
  • Sur la page d’un hôte existant : « Hôte activé » / « Hôte désactivé » (les changements s’appliquent avec le bouton « Mettre à jour »).

Quand un hôte est désactivé, son bloc server principal est retiré de la configuration : le site cesse de répondre aux requêtes, mais l’enregistrement de l’hôte et ses paramètres restent dans BeAdmin, et vous pouvez le réactiver à tout moment. Le certificat SSL continue d’être renouvelé automatiquement. Après la réactivation, le site refonctionne en HTTPS sans action supplémentaire.

Supprimer un hôte virtuel ​

Pour supprimer un hôte, cliquez sur l’icône de corbeille à côté de lui dans la liste latérale. Pour éviter une suppression accidentelle, le panneau vous demande de confirmer l’opération en saisissant le nom de l’hôte.

À la suppression d’un hôte, le fichier de configuration Nginx et ses journaux sont effacés. Le dossier contenant les fichiers du site (celui indiqué dans le champ « Chemin des fichiers ») est conservé : c’est une protection contre la perte de données en cas de suppression accidentelle d’un hôte. Si ce dossier ne vous sert plus, supprimez-le manuellement.

Mode expert ​

Si le formulaire standard du constructeur ne suffit pas (par exemple pour un try_files personnalisé, un access_log non standard, des fastcgi_param supplémentaires ou une limitation de débit), passez en mode expert avec le bouton « Passer en mode expert » dans la barre inférieure du formulaire. Pour revenir, utilisez le bouton « Passer en mode constructeur ».

Le détail du mode expert — modèle de départ, passage d’un mode à l’autre sans perdre les paramètres, activation manuelle de PHP-FPM — figure dans l’article Nginx. Hôtes virtuels en mode expert.

Pour aller plus loin ​

BeAdmin © 2025. Tous droits réservés.