Configurer un proxy inverse dans ServBay : Mapper des sites internes ou distants pour le développement et le débogage locaux
ServBay est un environnement de développement Web local conçu spécialement pour macOS, intégrant plusieurs langages tels que PHP, Node.js, Python, Go, Java ainsi que des bases de données comme MySQL, PostgreSQL, MongoDB et Redis. Outre l’hébergement direct de projets de code locaux, ServBay offre également de puissantes fonctionnalités de proxy inverse. Grâce à cette fonction, vous pouvez facilement mapper des sites Web situés sur un intranet, une machine virtuelle, un conteneur, ou même un serveur distant, dans votre environnement local ServBay. Cela simplifie considérablement les phases de développement, de débogage et d’accès.
Ce guide détaille comment configurer un proxy inverse dans ServBay, afin de vous permettre de proxyfier facilement des sites internes ou toute adresse accessible, pour une gestion centralisée et un développement plus efficace.
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 backend (dans notre contexte, le site interne ou distant que vous souhaitez proxyfier). ServBay s'appuie sur son serveur Web intégré (Caddy ou Nginx) pour offrir cette fonctionnalité.
Dans un contexte de développement local, configurer un proxy inverse présente plusieurs avantages majeurs :
- Point d’accès unifié : Accédez à toutes vos ressources internes ou externes via un nom de domaine local géré par ServBay, sans avoir à mémoriser des adresses IP ou des ports complexes.
- Simplification de la configuration SSL : Utilisez les fonctions de gestion SSL de ServBay (comme ServBay CA ou ACME) pour accéder en HTTPS aux sites proxyfiés, même si la cible backend ne prend en charge que HTTP.
- Débogage localisé : Déboguez facilement des applications Web internes ou distantes depuis votre navigateur local.
- Bypass des restrictions réseau : Dans certains cas, accédez facilement aux ressources d'un intranet d’entreprise ou de réseaux restreints, à condition que la machine où tourne ServBay puisse joindre la cible.
Prérequis
Avant de commencer la configuration du proxy inverse, assurez-vous de remplir les conditions suivantes :
- ServBay installé et en cours d’exécution : Veillez à ce que l'application ServBay soit correctement installée sur votre macOS et soit bien lancée.
- Site cible accessible : Le site Web interne ou distant à proxyfier doit être opérationnel, et la machine ServBay doit pouvoir accéder directement à son IP/nom de domaine et port sur le réseau. Par exemple, pour
192.168.1.100:8080
, vérifiez que votre macOS peut pinguer192.168.1.100
et accéder à192.168.1.100:8080
.
Étapes pour ajouter un site en proxy inverse
Suivez ces étapes pour configurer un proxy inverse dans ServBay :
Étape 1 : Ouvrir l’interface de gestion ServBay
Dans le dossier Applications de votre macOS, localisez l’icône ServBay
et double-cliquez pour lancer l’application.
Étape 2 : Naviguer vers la gestion des sites
Une fois ServBay lancé, vous arrivez sur l’interface principale. Dans le menu de navigation à gauche, cliquez sur Sites
. Vous entrerez alors dans la page de gestion de ServBay où vous pouvez gérer tous vos sites locaux et proxifiés.
Étape 3 : Ajouter un nouveau site
En bas de la page de gestion des sites, cliquez sur le bouton +
. Une fois sélectionné, un nouveau formulaire s’affiche à droite pour configurer un nouveau site.
Étape 4 : Configurer le proxy inverse du site
Dans le formulaire du nouveau site, renseignez les informations essentielles pour définir le comportement du proxy inverse :
- Nom (Name) : Attribuez un nom explicite à votre site proxy inverse, par exemple :
Proxy Backend Interne
. - Domaine (Domain) : Saisissez le nom de domaine par lequel vous souhaitez accéder localement au site proxyfié, par exemple
backend.servbay.demo
ouproxy.to.local
. ServBay ajoutera automatiquement ce domaine de développement local à votre fichierhosts
système afin qu’il pointe vers127.0.0.1
ou::1
. - Protocole (Protocol) : Sélectionnez le protocole supporté par le site. En général, choisissez
HTTP/HTTPS
pour la prise en charge des deux modes. ServBay gérera le SSL selon la configuration. - Méthode d’obtention du certificat SSL (SSL Certificate Request Method) :
- ServBay CA (recommandé pour le développement local) : ServBay génère et gère automatiquement un certificat SSL pour votre domaine via son autorité de certification interne. Pratique et rapide, mais il faut faire confiance au certificat racine ServBay CA dans votre navigateur ou système pour éviter les alertes de sécurité.
- ACME (Let’s Encrypt) : Pour un domaine public accessible depuis Internet, choisissez cette option pour obtenir un certificat SSL gratuit Let's Encrypt.
- Manuel : Si vous possédez déjà les fichiers de certificat SSL (
.crt
,.key
,.ca-bundle
), vous pouvez les téléverser et configurer manuellement. Pour le développement local et le proxy d’intranet, l’optionServBay CA
est fortement recommandée.
- Type de site (Website Type) : Sélectionnez
Proxy inverse (Reverse Proxy)
. C’est l’élément clé qui active la fonction de proxy. - Cible du proxy (Proxy Target) : Saisissez l’adresse complète (IP:Port ou URL) du site interne ou distant à proxyfier.
- Exemple 1 (IP:Port) :
192.168.1.100:8080
- Exemple 2 (URL avec protocole) :
http://192.168.1.100:8080
- Exemple 3 (Nom d’hôte interne) :
backend.internal:8443
(à condition que le nom soit résolvable par la machine ServBay) - Exemple 4 (URL distante) :
https://api.example.com
Assurez-vous que l’adresse saisie est directement joignable par la machine ServBay.
- Exemple 1 (IP:Port) :
Étape 5 : Valider et enregistrer la configuration
Une fois toutes les informations remplies, cliquez sur le bouton Ajouter (Add)
en bas du formulaire. ServBay enregistre alors la configuration et génère la règle de proxy inverse correspondante dans son serveur Web (Caddy ou Nginx).
Le nouveau site proxy inverse apparaît alors dans la liste des sites.
Étape 6 : Accéder au site proxyfié
Après configuration, accédez dans votre navigateur au nom de domaine défini à l’étape 4 (par exemple proxy.to.local
ou backend.servbay.demo
) pour joindre le site interne ou distant via le proxy inverse.
Si vous avez choisi ServBay CA et activé le HTTPS, il se peut qu’un avertissement de certificat apparaisse lors du premier accès (si le certificat ServBay CA n’a pas encore été approuvé sur votre système).
Étape 7 : Actions rapides sur le site
Pour chaque site, ServBay propose des boutons de raccourci qui simplifient la gestion :
- Ouvrir le répertoire racine avec l’IDE : Peu utilisé pour un proxy inverse puisqu’il n’y a pas de code local à éditer.
- Ouvrir dans le navigateur : Accès rapide au site proxyfié via le navigateur par défaut.
- Consulter les journaux du site : Permet de voir les logs d’accès et d’erreur générés par le serveur Web de ServBay (Caddy/Nginx), indispensable pour le débogage.
- Suspendre/réactiver le site : Active/désactive temporairement la configuration de proxy inverse.
- Supprimer le site : Retire définitivement la configuration proxy inverse de ServBay.
FAQ — Questions fréquentes et solutions
Q : Le site est inaccessible, une erreur s’affiche dans le navigateur.
- Vérifiez l’état de ServBay : Assurez-vous que ServBay fonctionne et que le serveur Web (Caddy/Nginx) est bien démarré.
- Vérifiez la résolution du domaine : Confirmez que le nom de domaine saisi dans le navigateur est exact et qu’il pointe bien vers l’IP locale de ServBay (normalement, il est ajouté dans le fichier
hosts
, mais un contrôle manuel est conseillé). - Consultez les journaux ServBay du site : Cliquez sur “voir les logs” dans la liste des sites et vérifiez les logs du serveur Web. Ces journaux affichent les requêtes des clients, les tentatives de connexion à la cible proxy, et toute erreur éventuelle — c’est la piste la plus directe pour diagnostiquer le problème.
- Vérifiez le pare-feu ou les outils de sécurité : Contrôlez que le pare-feu macOS ou tout logiciel de sécurité ne bloque pas ServBay sur les ports 80 ou 443, ni les connexions sortantes vers la cible proxy.
Q : Le site cible est accessible depuis la machine ServBay, mais une erreur survient en passant par le domaine ServBay dans le navigateur.
- Vérifiez le format de la cible proxy : Assurez-vous que l’adresse de la “cible proxy” est au bon format, et que la machine ServBay peut y accéder directement. Testez via Terminal sur ServBay avec la commande
curl [adresse de la cible proxy]
. - Vérifiez la configuration du serveur cible : Certains serveurs backend vérifient l’en-tête
Host
de la requête. ServBay transmet par défaut l’en-têteHost
d’origine du client. Si votre serveur backend exige un hôte précis (par exemple un domaine interne) et que vous effectuez l’accès via un nom de domaine différent, cela peut provoquer une erreur. Dans la configuration avancée de ServBay, il est possible d’ajuster les en-têtes transmis (nécessite une modification manuelle du Caddyfile ou du fichier Nginx, hors interface standard). - Vérifiez le pare-feu du serveur cible : Même si la machine ServBay peut joindre l’IP et le port, la cible backend peut n’autoriser que certaines adresses IP (par exemple l’intranet). Vérifiez que la machine ServBay fait partie de la liste blanche du serveur cible.
Q : Une alerte de certificat s’affiche lors de l’accès HTTPS au site proxyfié.
- En cas d’utilisation de ServBay CA : C’est le comportement attendu puisque ServBay CA est une autorité privée non reconnue par défaut par les navigateurs publics. Installez ou faites approuver le certificat racine ServBay CA dans votre système ou navigateur pour éviter les alertes.
- En cas d’utilisation d’ACME (Let’s Encrypt) : Assurez-vous que votre domaine pointe sur l’IP de la machine ServBay et que le certificat Let's Encrypt a été généré via la gestion SSL de ServBay. Consultez les logs pour toute erreur durant la demande ACME.
Q : Comment proxyfier des cibles qui nécessitent des en-têtes ou cookies spécifiques ?
Dans la configuration de base, ServBay transfère la plupart des informations de la requête du client. Pour des cas avancés (ajout d’en-tête personnalisé, modification d’en-tête de réponse, gestion particulière de cookies, réécriture d’URL…), il est nécessaire de passer à la configuration avancée de ServBay et de modifier directement le fichier Caddyfile ou la config Nginx pour ajouter des règles de proxy personnalisées. Des connaissances en syntaxe Caddy ou Nginx sont recommandées pour cette manipulation.
Résumé
Grâce à la fonction de proxy inverse de ServBay, vous pouvez facilement intégrer des sites hébergés sur un intranet, dans une machine virtuelle, un conteneur ou un serveur distant à votre environnement de développement local. Vous bénéficiez ainsi d'un point d'accès centralisé, simple d’utilisation, et vous simplifiez grandement le débogage et la configuration SSL. Il vous suffit de suivre les étapes décrites dans ce guide pour paramétrer rapidement un site proxy inverse. Associées à la consultation avancée des journaux et aux conseils de résolution, ces fonctionnalités garantissent la fiabilité des sites proxyfiés et renforcent considérablement votre productivité en développement.