Introduction
Dans ce projet, vous allez apprendre à créer un proxy inverse à l'aide de Node.js. Un proxy inverse est un serveur qui se situe entre un client et un serveur backend, redirigeant les requêtes du client vers le serveur backend et renvoyant la réponse au client.
👀 Aperçu

🎯 Tâches
Dans ce projet, vous allez apprendre :
- Comment créer un serveur HTTP à l'aide de Node.js
- Comment utiliser le
Stream pipepour passer directement les données de réponse de GitHub au client - Comment démarrer le serveur proxy inverse et le tester
🏆 Réalisations
Après avoir terminé ce projet, vous serez capable de :
- Comprendre le concept d'un proxy inverse et comment il fonctionne
- Créer un proxy inverse à l'aide de Node.js pour proxyer les requêtes vers le site web GitHub
- Implémenter la fonctionnalité de proxy inverse à l'aide du
Stream pipe - Démarrer et tester le serveur proxy inverse
Implémentez le proxy inverse
Pour commencer, ouvrez l'éditeur. Vous devriez voir un fichier dans l'éditeur - "proxy.js".
Dans cette étape, vous allez apprendre à utiliser le Stream pipe pour passer directement les données de réponse de GitHub au client. Suivez les étapes ci-dessous pour terminer cette étape :
- Dans le fichier
proxy.js, localisez le commentaire// TODOdans la fonctionhttp.createServer. - Remplacez le commentaire
// TODOpar le code suivant :
https.get(uri, function (response) {
response.pipe(res);
});
Ce code utilise le Stream pipe pour passer directement les données de réponse de GitHub au client.
- Enregistrez le fichier
proxy.js.
Démarrez le serveur proxy inverse
Dans cette étape, vous allez apprendre à démarrer le serveur proxy inverse et à le tester.
- Ouvrez un terminal et accédez au répertoire du projet.
- Exécutez la commande suivante pour démarrer le serveur proxy inverse :
node proxy.js
Vous devriez voir la sortie suivante :
Server running at http://localhost:8080/
- Ouvrez un autre terminal et exécutez la commande suivante pour tester le proxy inverse :
curl --connect-timeout 2 -m 5 localhost:8080/pricing | grep GitHub
Cette commande envoie une requête au serveur proxy inverse, qui récupère à son tour le contenu du site web GitHub et le renvoie au client.
- Vous devriez voir les informations de tarification de GitHub affichées dans le terminal.

Félicitations ! Vous avez réussi à créer un proxy inverse à l'aide de Node.js. Vous pouvez désormais expérimenter le proxy inverse en modifiant le code et en testant différents scénarios.
Résumé
Félicitations ! Vous avez terminé ce projet. Vous pouvez pratiquer plus de laboratoires dans LabEx pour améliorer vos compétences.



