Configuration du service de proxy inverse Ngrok dans ServBay
Ngrok est un outil de tunnel sécurisé basé sur la technologie de proxy inverse, qui permet de contourner les pare-feu pour réaliser le mappage public de services locaux. Ce guide expliquera en détail comment déployer le service Ngrok dans l'environnement ServBay, permettant ainsi l'accès Internet aux services Web locaux.
Principe technique
Ngrok établit une connexion de tunnel cryptée, mappant les services locaux déployés derrière un NAT/un pare-feu à un nom de domaine public. Dans le contexte de ServBay, cette solution permet aux développeurs de publier en temps réel des services Web en cours de débogage dans leur environnement local, facilitant ainsi la collaboration d'équipe et les tests à distance.
Préparation de l'environnement
1. Installation du client Ngrok
Suivez les étapes ci-dessous pour déployer l'outil CLI Ngrok :
- Accédez à la page de téléchargement officielle pour obtenir le package d'installation approprié pour votre système.
- Décompressez et déployez dans le répertoire système PATH (à titre d'exemple pour macOS ARM) :bash
sudo unzip ~/Downloads/ngrok-v3-stable-darwin-arm64.zip -d /usr/local/bin
1 - Vérifiez l'intégrité de l'installation :bash
ngrok version # ngrok version 3.5.0
1
2
Configuration du tunnel: mise en pratique
Explication des paramètres clés
La structure de commande standard pour effectuer le mappage des services est la suivante :
ngrok http --domain=<NGROK_DOMAIN> <LOCAL_ENDPOINT> \
--request-header-add='host: <VIRTUAL_HOST>'
2
Composant de paramètre | Description de la fonction |
---|---|
http | Déclare le tunnel du protocole HTTP |
--domain | Spécifie le nom de domaine fixe attribué par Ngrok (doit être remplacé par un domaine réel) |
<LOCAL_ENDPOINT> | Adresse du service ServBay local (par défaut https://servbay.host ) |
--request-header-add | Réécrit l'en-tête Host pour garantir une bonne routage des requêtes |
Exemple de configuration
Supposons que vous souhaitiez mapper le service local servbay.local
au nom de domaine public cunning-lacewing-fresh.ngrok-free.app
, exécutez la commande :
ngrok http --domain=cunning-lacewing-fresh.ngrok-free.app https://servbay.local \
--request-header-add='host: servbay.local'
2
En cas de succès, le terminal affichera des informations sur l'état du tunnel, incluant l'adresse d'accès public et les données de trafic en temps réel.
Vérification du service
Après la configuration, suivez les étapes suivantes pour vérifier :
- Accédez au nom de domaine Ngrok dans votre navigateur :
https://cunning-lacewing-fresh.ngrok-free.app
1 - Résultats attendus :
- Affichage de contenus Web identiques à ceux du service local
- Identification de connexion sécurisée HTTPS valide
- Temps de réponse dans des limites raisonnables (généralement <500ms)
Illustration : Page Web accessible via Ngrok
Astuces avancées
Gestion des domaines :
- Demandez un nom de domaine personnalisé via le tableau de bord Ngrok.
- Les utilisateurs d'entreprise peuvent lier leur propre domaine (un abonnement payant est nécessaire).
Mappage de plusieurs services :
bash# Mapper simultanément des services HTTP/HTTPS ngrok http --domain=your-domain.ngrok.app 80 ngrok tls --domain=your-domain.ngrok.app 443
1
2
3Commandes de diagnostic :
bashngrok config check # Vérifiez le fichier de configuration ngrok logs # Affichez les journaux en temps réel
1
2
Dépannage
Phénomène | Solution |
---|---|
Délai d'attente | Vérifiez l'état du service ServBay et l'occupation des ports |
Erreur de certificat HTTPS | Assurez-vous que la configuration du paramètre --request-header-add est correcte |
Déconnexions intermittentes | Vérifiez la stabilité du réseau, une connexion filaire est conseillée |
Résumé de la solution
Grâce à la solution de proxy inverse Ngrok, les développeurs peuvent rapidement établir un canal d'accès public sécurisé dans l'environnement ServBay. Cette configuration présente les avantages suivants :
- Réalisation de services externes sans modification de code
- Prise en charge de la surveillance et de l'analyse du trafic en temps réel
- Fournit une protection de sécurité de niveau entreprise (nécessite la configuration de politiques d'accès)
Il est conseillé d'utiliser le plan payant Ngrok en environnement de production pour bénéficier d'une garantie de service plus stable.