Configuration d’un proxy inverse dans ServBay : mapper des sites internes ou distants en local pour développer et déboguer
ServBay est un environnement local de développement Web compatible avec macOS et Windows, qui intègre de nombreux langages tels que PHP, Node.js, Python, Go, Java, ainsi que des bases de données comme MySQL, PostgreSQL, MongoDB, Redis, etc. Outre l’hébergement direct de projets locaux, ServBay offre une puissante fonctionnalité de proxy inverse. Grâce à cette fonction, il est facile de rediriger des sites Web situés sur un réseau interne, une machine virtuelle, un conteneur ou même un serveur distant vers votre environnement local ServBay, simplifiant ainsi les processus de développement, de débogage et d’accès.
Ce guide détaille étape par étape la configuration d’un proxy inverse dans ServBay, vous permettant de gérer et de développer efficacement tout site hébergé sur un réseau interne ou à une adresse externe accessible.
Vue d’ensemble
Un serveur proxy inverse reçoit les requêtes des clients (par exemple, votre navigateur) et les transmet à un ou plusieurs serveurs en backend (dans ce cas, les sites internes ou distants que vous souhaitez proxyer). ServBay s’appuie sur son serveur Web intégré (Caddy ou Nginx) pour cette fonctionnalité.
Dans un contexte de développement local, les principaux avantages d’un proxy inverse incluent :
- Point d’accès unifié : Accédez à toutes les ressources internes et externes via un nom de domaine géré par ServBay, sans retenir une multitude d’adresses IP ou de ports.
- Simplification du SSL : Utilisez la gestion SSL intégrée de ServBay (ServBay CA ou ACME) pour proposer un accès HTTPS aux sites proxyés, même si le backend ne supporte que HTTP.
- Débogage localisé : Déboguez facilement des applications Web distantes ou internes directement dans votre navigateur local.
- Contournement des restrictions réseau : Dans certains cas, accédez depuis votre station de travail locale à des ressources sur l’intranet d’entreprise ou sur des réseaux restreints (si la machine ServBay peut atteindre la cible).
Prérequis
Avant de commencer la configuration d’un proxy inverse, assurez-vous de remplir les conditions suivantes :
- ServBay est installé et fonctionnel : Le logiciel ServBay doit être correctement installé et en cours d’exécution sur votre système macOS.
- Le site cible est accessible : Le site Web interne ou distant à proxyer fonctionne normalement et la machine macOS sur laquelle tourne ServBay peut accéder à son adresse IP/nom de domaine et port. Par exemple, pour la cible
192.168.1.100:8080
, votre Mac doit pouvoir pinguer192.168.1.100
et accéder à192.168.1.100:8080
.
Étapes pour ajouter un site en proxy inverse
Voici le processus complet pour configurer un site proxyé dans ServBay :
Étape 1 : Ouvrir l’interface de gestion ServBay
Dans le dossier Applications de votre Mac, repérez l’icône ServBay
et double-cliquez dessus pour lancer l’application.
Étape 2 : Aller à la gestion des sites
Une fois ServBay démarré, vous accédez à l’interface principale. Dans le menu de navigation à gauche, cliquez sur Sites
. Vous arrivez ainsi sur la page de gestion des sites, où vous gérez tous les projets locaux et proxys inverses.
Étape 3 : Ajouter un nouveau site
Tout en bas de la page de gestion des sites, cliquez sur le bouton +
. Une zone de formulaire va apparaître à droite pour la configuration de votre nouveau site.
Étape 4 : Configurer les paramètres du proxy inverse
Dans le formulaire du nouveau site, renseignez les informations clés pour définir le comportement du proxy inverse :
- Nom (Name) : Donnez un nom facilement identifiable à votre site proxy ; exemple :
Proxy Backend Interne
. - Domaine (Domain) : Saisissez le nom de domaine à utiliser localement pour accéder au site proxyé, comme
backend.servbay.demo
ouproxy.to.local
. ServBay ajoute généralement automatiquement ce nom dans votre fichierhosts
système, pour pointer vers127.0.0.1
ou::1
. - Protocole (Protocol) : Choisissez le protocole pris en charge. En général, sélectionnez
HTTP/HTTPS
pour supporter les deux. ServBay gère automatiquement le SSL selon votre choix. - Méthode de demande de certificat SSL (SSL Certificate Request Method) :
- ServBay CA (recommandé en local) : ServBay utilisera son autorité de certification intégrée pour générer et gérer automatiquement le certificat SSL du domaine. Cela évite les complications, mais il faudra approuver le certificat racine ServBay CA sur votre système ou navigateur pour éviter les alertes.
- ACME (Let's Encrypt) : Pour un domaine public accessible depuis Internet, choisissez cette option : ServBay demandera gratuitement un certificat SSL via Let's Encrypt.
- Manuel (Manual) : Si vous disposez déjà de fichiers de certificat (
.crt
,.key
,.ca-bundle
), optez pour le chargement manuel et configurez les fichiers correspondants. Pour le développement local ou le proxy de ressources internes, il est fortement recommandé d’utiliserServBay CA
.
- Type de site (Website Type) : Sélectionnez
Proxy inverse (Reverse Proxy)
. Ce paramètre permet d’activer la fonction de proxy. - Cible du proxy (Proxy Target) : Indiquez l’adresse complète du site interne ou distant à proxyer, sous format
IP:Port
ou URL complète avec protocole.- Exemple 1 (IP:Port) :
192.168.1.100:8080
- Exemple 2 (URL) :
http://192.168.1.100:8080
- Exemple 3 (Nom d’hôte interne) :
backend.internal:8443
(si la machine ServBay résout ce nom) - Exemple 4 (URL distante) :
https://api.example.com
Veillez à ce que l’adresse entrée soit accessible en direct depuis la machine ServBay.
- Exemple 1 (IP:Port) :
Étape 5 : Valider et enregistrer la configuration
Une fois toutes les informations renseignées, cliquez sur le bouton Ajouter (Add)
en bas du formulaire. ServBay enregistre la configuration et génère les règles de proxy inverse dans son serveur Web (Caddy ou Nginx).
Après validation, le nouveau site proxy apparaît dans la liste des sites.
Étape 6 : Accéder au site proxy inverse
La configuration terminée, il suffit d’entrer dans votre navigateur le domaine défini à l’étape 4 (ex : proxy.to.local
ou backend.servbay.demo
) pour accéder au site Web interne ou distant à travers le proxy.
Si vous avez sélectionné ServBay CA et HTTPS, il se peut qu’un avertissement de certificat apparaisse lors du premier accès (tant que le certificat racine ServBay CA n’est pas approuvé).
Étape 7 : Actions rapides sur le site
ServBay propose des boutons d’actions rapides pour chaque site, afin de faciliter la gestion :
- Ouvrir le dossier racine avec un IDE : Pour un site proxy inverse, cette fonction est moins utilisée car il n’y a pas de dossier local.
- Ouvrir le site dans le navigateur : Accédez rapidement au site via le navigateur par défaut.
- Afficher les journaux du site : Consultez les logs d’accès et d’erreur du serveur Web (Caddy/Nginx) pour ce site, essentiel pour le débogage.
- Suspendre/Activer le site : Activez ou désactivez temporairement le proxy pour ce site.
- Supprimer le site : Retirez la configuration du proxy inverse de ServBay.
FAQ – Problèmes courants et solutions
Q : Impossible d’accéder au site, erreur dans le navigateur.
- Vérifiez le statut de ServBay : Assurez-vous que ServBay fonctionne et que le serveur Web (Caddy/Nginx) est démarré.
- Contrôlez la résolution du domaine : Vérifiez que le domaine utilisé dans le navigateur pointe bien vers l’adresse IP locale ServBay (en général, ServBay modifie automatiquement le fichier
hosts
, mais une vérification manuelle est possible). - Consultez les logs du site dans ServBay : Cliquez sur “Afficher les journaux” pour examiner les logs du serveur Web. On y trouve les requêtes client, les tentatives de connexion au backend cible et tout message d’erreur, idéal pour le diagnostic.
- Vérifiez le pare-feu ou les logiciels de sécurité : Assurez-vous que le pare-feu macOS ou tout autre logiciel ne bloque pas l’écoute de ServBay sur les ports 80 ou 443, ni la connexion à la cible proxy.
Q : Le Mac accède à la cible du proxy, mais l’accès via le domaine ServBay échoue dans le navigateur.
- Vérifiez le format de la cible proxy : L’adresse configurée dans ServBay doit être correcte et accessible directement par la machine ServBay. Essayez via le terminal :
curl [adresse cible proxy]
pour tester. - Examinez la configuration du serveur cible : Certains serveurs backend vérifient le header
Host
. Par défaut, ServBay transmet leHost
original du client. Si le backend exige un header précis (ex : domaine interne), et que le domaine utilisé dans ServBay est différent, cela peut causer un problème. L’ajustement des headers avancés peut se faire dans ServBay (potentiellement via modification directe du Caddyfile ou de la config Nginx, hors interface graphique). - Contrôlez le pare-feu du serveur cible : Même si ServBay accède à l’IP et au port, le firewall du backend peut n’autorisant des IP spécifiques (par exemple, uniquement interne). Vérifiez l’accès depuis l’IP de la machine ServBay.
Q : Utilisation d’HTTPS – Avertissement de certificat dans le navigateur.
- ServBay CA activé : C’est normal puisque ServBay CA est une autorité privée, non reconnue par défaut par les navigateurs publics. Il faut installer manuellement le certificat racine ServBay CA sur votre système ou navigateur. Trouvez ce certificat dans les “Paramètres” et suivez la procédure d’installation.
- ACME (Let's Encrypt) : Vérifiez que le domaine pointe correctement vers l’IP ServBay et que vous disposez d’un certificat ACME valide via la plateforme SSL. En cas d’erreur, analysez les logs ServBay pour plus de détails sur le processus de demande.
Q : Comment proxyer vers une cible nécessitant des headers ou cookies personnalisés ?
La configuration de base du proxy inverse dans ServBay transmet la majorité des informations client. Pour des scénarios avancés (ajout de headers spécifiques, modification des headers de réponse, gestion de cookies ou rewrite de chemins), il est possible d’accéder à la configuration avancée : modifiez à la main le fichier Caddyfile ou la config Nginx selon vos besoins. Ces opérations supposent une bonne connaissance de la syntaxe Caddy ou Nginx.
Conclusion
La fonctionnalité de proxy inverse de ServBay permet d’intégrer, en toute simplicité, des sites Web situés sur un réseau interne, une VM, un conteneur ou un serveur distant dans votre environnement de développement local. Cela offre un point d’accès centralisé, facilite le débogage local et simplifie la configuration SSL. Il ne vous reste qu’à suivre les étapes de ce tuto pour configurer rapidement votre site proxy. Avec l’accès aux logs détaillés et des conseils de dépannage, vous garantissez la stabilité de votre proxy et améliorez significativement votre efficacité en développement.