Lorsqu’on navigue sur les différents réseaux d’internet, les serveurs proxy et les tunnels HTTP facilitent l’accès au contenu du World Wide Web.
- Un proxy peut se trouver sur l’ordinateur local de l’utilisateur
- ou n’importe où entre l’ordinateur de l’utilisateur et un serveur de destination sur internet
Voici quelques notions de base sur les proxys et quelques options de configuration
Il existe 2 types de proxys
- les forward proxies (ou tunnel, ou passerelle)
- et les reverse proxies (proxy inverses, utilisés pour contrôler et protéger l’accès à un serveur pour l’équilibrage de charge, l’authentification, le décryptage ou la mise en cache).
Proxys directs
Un forward proxy, ou passerelle, ou simplement « proxy », fournit des services de proxy à un client ou à un groupe de clients.
Il existe probablement des centaines de milliers de forward proxies ouverts sur internet. Ils stockent et transmettent des services internet (comme le DNS ou les pages Web) afin de réduire et de contrôler la bande passante utilisée par le groupe.
Les forward proxies peuvent également être des proxies anonymes et permettent aux utilisateurs de cacher leur adresse IP lorsqu’ils naviguent sur le Web ou utilisent d’autres services Internet.
TOR (The Onion Router), achemine le trafic internet à travers plusieurs proxies pour assurer l’anonymat.
Proxys inverses
Comme son nom l’indique, un proxy inverse fait l’inverse de ce que fait un proxy direct : Un proxy direct agit au nom des clients (ou des hôtes demandeurs).
- Les forward proxies peuvent cacher l’identité des clients
- alors que les reverse proxies peuvent cacher l’identité des serveurs
➽ Les reverse proxies ont plusieurs cas d’utilisation
- Répartition de la charge : distribuer la charge sur plusieurs serveurs web
- Mise en cache de contenu statique : décharger les serveurs web en mettant en cache du contenu statique comme des images
- Compression : compression et optimisation du contenu pour accélérer le temps de chargement
Comment transférer les informations du client à travers des proxies
Les serveurs mandataires peuvent faire en sorte que les demandes semblent provenir de l’adresse IP du serveur mandataire. Cela peut être utile si un proxy est utilisé pour assurer l’anonymat du client, mais dans d’autres cas, les informations de la demande originale sont perdues.
L’adresse IP du client d’origine est souvent utilisée pour :
- le débogage
- les statistiques
- la génération de contenu dépendant de l’emplacement
Le tunneling HTTP
Le tunneling transmet les données et les informations de protocole du réseau privé à travers le réseau public en encapsulant les données.
⇒ Changez votre adresse IP et accédez aux contenus bloqués ou géo-restreints partout dans le monde
Le tunneling HTTP consiste à utiliser un protocole de niveau supérieur (HTTP) pour transporter un protocole de niveau inférieur (TCP).
➽ Le protocole HTTP spécifie une méthode de demande appelée CONNECT
Elle lance une communication bidirectionnelle avec la ressource demandée et peut être utilisée pour ouvrir un tunnel.
C’est ainsi qu’un client situé derrière un proxy HTTP peut accéder à des sites Web utilisant le protocole SSL (HTTPS, port 443).
Notez toutefois que tous les serveurs proxy ne prennent pas en charge la méthode CONNECT ou la limitent au port 443 uniquement.
Auto-configuration du proxy (PAC)
Un fichier PAC (Proxy Auto-Configuration) est une fonction JavaScript qui détermine si les requêtes du navigateur Web (HTTP, HTTPS et FTP) vont directement à leur destination ou sont transmises à un serveur proxy Web.
Le fichier d’autoconfiguration doit être enregistré dans un fichier portant l’extension .pac (proxy.pac) et le type MIME défini à :
application/x-ns-proxy-autoconfig
Le fichier consiste en une fonction appelée FindProxyForURL. L’exemple ci-dessous fonctionnera dans un environnement où le serveur DNS interne est configuré de manière à ne pouvoir résoudre que les noms d’hôtes internes, et où l’objectif est d’utiliser un proxy uniquement pour les hôtes qui ne sont pas résolubles :
function FindProxyForURL(url, host) {
if (isResolvable(host))
return « DIRECT »;
else
return « PROXY proxy.mydomain.com:8080 »;
}
Visitor Rating: 5 Stars