Guide de déploiement du service de proxy inversé Pinggy dans ServBay
Pinggy est un outil de traversée de réseau local simple à utiliser qui, à l'aide de la technologie de proxy inversé, vous permet d'exposer vos services locaux en toute sécurité sur Internet. Ce guide vous expliquera en détail comment utiliser Pinggy dans l'environnement ServBay pour accéder rapidement aux services Web locaux sur Internet.
Principe technique
Pinggy établit un tunnel SSH sécurisé pour mapper les services locaux déployés derrière un NAT/firewall à Internet. Dans le contexte de ServBay, cela permet aux développeurs de publier en temps réel des services Web testés localement, facilitant ainsi la collaboration en équipe, les tests à distance et les démonstrations.
Préparation de l'environnement
Aucun client à installer ! L'un des principaux avantages de Pinggy est qu'il n'est pas nécessaire d'installer de logiciel sur l'ordinateur local. Vous n'avez besoin que d'un terminal compatible SSH.
Configuration du tunnel en pratique
Commandes clés
Établir un tunnel avec Pinggy est très simple. Exécutez simplement la commande suivante dans le terminal :
ssh -p 443 -R0:localhost:443 -o StrictHostKeyChecking=no -o ServerAliveInterval=30 -t [email protected] x:localServerTls:servbay.new "u:host:servbay.new"
Composants de l’option | Description fonctionnelle |
---|---|
-p 443 | Définit le port de connexion SSH au serveur Pinggy sur 443 (port par défaut HTTPS). |
-R0:localhost:443 | Redirection de port à distance. 0 indique que le serveur Pinggy assignera un port aléatoire. localhost:443 indique de rediriger le port distant vers le port local 443 (HTTPS). |
-o StrictHostKeyChecking=no | Désactive la vérification des clés d'hôte SSH (utile lors de la première connexion ou pour des tests, mais déconseillé en production). |
-o ServerAliveInterval=30 | Envoie un message keep-alive toutes les 30 secondes pour maintenir la connexion SSH active. |
-t [email protected] | Nom d'utilisateur Pinggy et adresse du serveur. |
x:localServerTls:servbay.new | Paramètre personnalisé de Pinggy, désignant le nom de domaine TLS du serveur local comme servbay.new . |
"u:host:servbay.new" | Paramètre personnalisé de Pinggy qui définit l'en-tête Host des requêtes entrantes sur servbay.new . |
Après l'exécution réussie de la commande, l'URL d'accès sera affichée :
http://rnirh-172-188-50-148.a.free.pinggy.link
https://rnirh-172-188-50-148.a.free.pinggy.link
2
Vérification du service
- Vérification avec
curl
(recommandé) : Utilisez la commandecurl
pour effectuer un test.
curl -I https://rnirh-172-188-50-148.a.free.pinggy.link
La sortie sera comme suit :
HTTP/1.1 200 OK
Connection: close
Access-Control-Allow-Credentials: true
Access-Control-Allow-Headers: Content-Type, Authorization
Access-Control-Allow-Methods: GET, POST, PUT, DELETE, OPTIONS
Access-Control-Allow-Origin: *
Cache-Control: max-age=0, must-revalidate, no-cache, no-store, private
Connection: keep-alive
Content-Type: text/html; charset=UTF-8
Date: Tue, 18 Feb 2025 11:51:48 GMT
Expires: Sun, 02 Jan 1990 00:00:00 GMT
Pragma: no-cache
Server: nginx
Vary: Accept-Encoding
X-Frame-Options: SAMEORIGIN
X-Powered-By: PHP/8.4.3
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Accès via le navigateur : Ouvrez directement le navigateur et accédez à
https://rnirh-172-188-50-148.a.free.pinggy.link
Résultats attendus :
- Affichage du contenu Web correspondant aux services ServBay locaux.
- Si votre service local est configuré pour HTTPS, Pinggy prendra également en charge HTTPS automatiquement.
- Le temps de réponse est généralement rapide (cela dépend de votre réseau local et de la connexion au serveur Pinggy).
Astuces avancées
Nom de domaine personnalisé : Les utilisateurs Pro de Pinggy peuvent utiliser un nom de domaine personnalisé. Veuillez consulter la documentation de Pinggy pour plus de détails.
Tunnel TCP : Si votre service n'est pas HTTP/HTTPS, vous pouvez utiliser la fonction de tunnel TCP de Pinggy :
bashssh -R <REMOTE_PORT>:localhost:<LOCAL_PORT> a.pinggy.io
1Remplacez
<REMOTE_PORT>
par le port que vous souhaitez utiliser sur le serveur Pinggy.Tunnel persistant (en utilisant
autossh
) : Si votre réseau est instable ou si vous souhaitez maintenir un tunnel ouvert pendant longtemps, il est recommandé d'utiliserautossh
.autossh
se reconnectera automatiquement après la disconnexion de SSH.
Dépannage
Phénomène | Solution |
---|---|
Timeout de connexion | Vérifiez que le service ServBay est en cours d'exécution et que <LOCAL_PORT> est correct. |
Erreur 404 (Not Found) | Si vous utilisez un hôte virtuel, assurez-vous d'avoir utilisé la commande curl comme indiqué dans "Exemples de configuration" (avec le bon en-tête Host ). |
Impossible d'accéder à l'URL Pinggy | Vérifiez votre connexion réseau et assurez-vous que vous pouvez accéder à a.pinggy.io . |
Déconnexions intermittentes | Cela peut être dû à une instabilité réseau. Essayez d'utiliser autossh pour établir une connexion plus stable (voir la section "Astuces avancées"). |
Résumé de la solution
Avec Pinggy, les développeurs peuvent établir extrêmement simplement et rapidement un canal d'accès sécurisé à Internet dans l'environnement ServBay. Cette solution présente les avantages suivants :
- Aucun client à installer : Simplifie le processus de configuration et réduit les dépendances.
- Opération par un clic : Le tunnel peut être démarré en une seule commande SSH.
- Prise en charge automatique de HTTPS : Aucune configuration manuelle du certificat SSL requise.
- Prise en charge des tunnels HTTP et TCP : Répond à tous les besoins de services.
- Commandes sans token : Vous pouvez partager l'URL directement sans vous soucier de la fuite de token.
Pinggy offre une méthode plus pratique que Ngrok, particulièrement adaptée pour des tests rapides et le partage temporaire de services locaux. Pour les scénarios nécessitant une exécution stable à long terme ou un nom de domaine personnalisé, envisagez la version Pro de Pinggy.