Sommaire


Qu'est-ce qu'un proxy ?

Un proxy HTTP(S) est un serveur intermédiaire qui se situe entre l'utilisateur final et internet. Il agit comme un relais pour les requêtes de navigation web, où les demandes de l'utilisateur sont d'abord envoyées au proxy, puis transmises au serveur web concerné. De même, les réponses du serveur web passent d'abord par le proxy avant d'atteindre l'utilisateur final. Les proxies HTTP(S) sont spécifiquement conçus pour comprendre et interpréter le trafic HTTP et HTTPS, ce qui permet une gestion plus fine des données naviguant sur ces protocoles.

topology illustration

Fonctionnalités et utilités des proxies HTTP(S)

  • Anonymisation et confidentialité : En utilisant un proxy, l'adresse IP de l'utilisateur final est masquée, rendant plus difficile pour les sites web et les serveurs tiers de suivre l'origine réelle des requêtes. Cela contribue à améliorer l'anonymat et la confidentialité en ligne.
  • Contrôle et filtrage du contenu : Les proxies peuvent être configurés pour bloquer l'accès à certains sites web ou à certains types de contenu, ce qui est particulièrement utile dans les environnements d'entreprise ou éducatifs pour restreindre l'accès à des contenus inappropriés ou distrayants.
  • Amélioration de la sécurité : Ils peuvent également agir comme une première ligne de défense contre les menaces en ligne, en filtrant le trafic malveillant et en empêchant l'accès à des sites connus pour être malveillants.
  • Cache : Les proxies peuvent stocker des copies locales de contenus fréquemment demandés. Cela permet une réduction des temps de chargement pour l'utilisateur et une diminution de la bande passante consommée puisque les contenus sont servis à partir du proxy plutôt que du serveur d'origine à chaque demande.
  • Bypass de restrictions géographiques : Les proxies situés dans différentes régions géographiques peuvent permettre aux utilisateurs d'accéder à du contenu ou des services en ligne qui sont autrement restreints ou bloqués dans leur propre pays.
  • Equilibrage de charge et gestion de la performance : Dans les environnements d'entreprise, les proxies peuvent être utilisés pour distribuer le trafic de manière équilibrée entre plusieurs serveurs, améliorant ainsi la disponibilité et la performance des applications web.
  • Développement et test : Pour les développeurs, les proxies permettent de tester des applications en simulant des conditions de réseau différentes, en inspectant les requêtes sortantes et les réponses entrantes pour débuguer ou optimiser les applications.
  • Automatisation et scrapping : Dans les domaines du SEO, du scrapping web, et de l'automatisation (comme pour les bots de jeux ou les tâches automatisées), les proxies permettent de simuler des requêtes provenant de différents emplacements géographiques, de contourner les limites de taux d'accès, et d'éviter les blocages d'IP par les serveurs cibles.

Comment fonctionne un proxy ?

Imaginons un diagramme simplifié qui explique le fonctionnement d'un proxy HTTPS. Ce diagramme met en évidence le chemin suivi par une requête HTTPS depuis l'ordinateur de l'utilisateur jusqu'au serveur web cible, en passant par le proxy.

  1. L'utilisateur initie une requête HTTPS : L'ordinateur de l'utilisateur (client) envoie une requête HTTPS, visant à accéder à un site web sécurisé (par exemple, un site bancaire ou de commerce électronique).
  2. La requête est transmise au proxy HTTPS : Au lieu d'aller directement au serveur web, la requête est d'abord redirigée vers le proxy HTTPS. Cette redirection peut être configurée manuellement dans les paramètres du navigateur de l'utilisateur ou être imposée par la configuration réseau de l'organisation de l'utilisateur.
  3. Établissement d'une connexion sécurisée avec le proxy : Avant de transférer la requête au serveur web cible, une connexion sécurisée (TLS/SSL) est établie entre l'ordinateur de l'utilisateur et le proxy. Cela garantit que les données échangées entre l'utilisateur et le proxy restent cryptées et confidentielles.
  4. Le proxy établit une connexion sécurisée avec le serveur web : Le proxy initie sa propre connexion sécurisée avec le serveur web cible. Cela signifie que le proxy établit un tunnel sécurisé distinct pour communiquer avec le serveur web.
  5. Le proxy transmet la requête au serveur web : La requête HTTPS de l'utilisateur est ensuite transmise à travers le tunnel sécurisé entre le proxy et le serveur web.
  6. Le serveur web envoie une réponse : Le serveur web traite la requête et envoie une réponse au proxy, toujours à travers la connexion sécurisée.
  7. Le proxy transfère la réponse à l'utilisateur : Finalement, le proxy envoie la réponse du serveur web à l'ordinateur de l'utilisateur à travers la connexion sécurisée établie initialement entre eux. L'utilisateur voit la réponse comme si elle était venue directement du serveur web, sans se rendre compte de l'intermédiation du proxy.

Comment installer et utiliser un proxy ?

L'ajout d'un proxy HTTP(S) sur différents systèmes d'exploitation et logiciels peut varier légèrement selon l'environnement. Voici un guide détaillé pour configurer un proxy HTTP(S) sur les systèmes Windows, Linux (Ubuntu, Debian, Mint, Kali), et sur certains logiciels directement.

Sur Windows

Via les Paramètres Windows:

  1. Ouvrez les Paramètres en cliquant sur le menu Démarrer, puis sur l'icône d'engrenage.
  2. Accédez à Réseau et Internet > Proxy.
  3. Sous Configuration manuelle du proxy, activez l'utilisation d'un serveur proxy.
  4. Entrez l'adresse du serveur proxy et le port dans les champs Adresse et Port.
  5. Cliquez sur Enregistrer pour appliquer les modifications.
topology illustration

Via le Panneau de Configuration (Internet Explorer/Edge):

  1. Ouvrez le Panneau de configuration, puis accédez à Options Internet.
  2. Allez dans l'onglet Connexions et cliquez sur Paramètres réseau.
  3. Cochez Utiliser un serveur proxy pour votre réseau local.
  4. Entrez l'adresse et le port du proxy, puis cliquez sur OK.

Sur Linux (Ubuntu, Debian, Mint, Kali)

La configuration peut se faire via les paramètres de réseau graphiques ou en ligne de commande.

Via les Paramètres de Réseau (GUI):

  1. Accédez aux Paramètres système et sélectionnez Réseau.
  2. Cherchez l'option de Réseau proxy, qui peut se trouver directement dans les paramètres ou sous une section avancée.
  3. Sélectionnez Manuel et entrez les détails du proxy pour HTTP et, si nécessaire, HTTPS.
  4. Appliquez ou sauvegardez les modifications.

En Ligne de Commande:

Pour les systèmes basés sur Debian comme Ubuntu, vous pouvez définir des variables d'environnement en ajoutant des lignes à votre fichier ~/.bashrc ou /etc/environment :

export http_proxy="http://username:password@proxyserver:port/"
export https_proxy="https://username:password@proxyserver:port/"

Après avoir ajouté ces lignes, exécutez source ~/.bashrc ou redémarrez votre session pour appliquer les changements.

Configuration dans des Logiciels Spécifiques

Navigateurs Web:

  • Firefox: Accédez à Options > Général > Réseau Proxy > Paramètres. Sélectionnez "Configuration manuelle du proxy", puis entrez l'adresse du proxy et le port pour HTTP/HTTPS. Cliquez sur OK pour sauvegarder.
  • Chrome (et Chromium-based): Chrome utilise les paramètres proxy du système sur Windows et Linux, donc la configuration doit être effectuée au niveau du système ou via des extensions dédiées.

Applications de Développement:

  • Git: Pour configurer un proxy pour Git, utilisez les commandes suivantes :
    git config --global http.proxy http://proxyuser:proxypwd@proxy.server.com:8080
    git config --global https.proxy https://proxyuser:proxypwd@proxy.server.com:8080
  • npm (pour Node.js): Configurez le proxy dans npm avec :
    npm config set proxy http://proxy-server-url:port
    npm config set https-proxy http://proxy-server-url:port