Quelle est la différence entre un serveur proxy et un serveur proxy inverse ?
TAM (tivoli access manager) est aussi un serveur proxy inverse, non ?
Quelle est la différence entre un serveur proxy et un serveur proxy inverse ?
Les réponses précédentes étaient précises, mais peut-être trop laconiques. Je vais essayer d'ajouter quelques exemples.
Tout d'abord, le mot "proxy" décrit quelqu'un ou quelque chose qui agit pour le compte de quelqu'un d'autre.
Dans le domaine informatique, il s'agit d'un serveur qui agit au nom d'un autre ordinateur.
Pour des raisons d'accessibilité, je limiterai ma discussion aux proxies web, mais l'idée d'un proxy ne se limite pas aux sites web.
La plupart des discussions sur les proxies web font référence au type de proxy connu sous le nom de "forward proxy".
Dans ce cas, le "forward proxy" récupère les données d'un autre site web pour le compte du requérant initial.
À titre d'exemple, je vais énumérer trois ordinateurs connectés à l'Internet.
Normalement, on se connecte directement à partir de X --> Z.
Cependant, dans certains scénarios, il est préférable que Y --> Z
au nom de X
, qui s'enchaînent comme suit : X --> Y --> Z
.
Voici une liste (très) partielle des utilisations d'un serveur proxy direct.
1) X ne peut pas accéder directement à Z parce que
a) Quelqu'un qui a une autorité administrative sur X
a décidé de bloquer tout accès au site. Z
.
Exemples :
Le virus Storm Worm se propage en incitant les gens à visiter les sites suivants familypostcards2008.com
L'administrateur système a donc bloqué l'accès au site pour éviter que les utilisateurs ne s'infectent par inadvertance.
Les employés d'une grande entreprise ont perdu trop de temps à facebook.com
donc la direction veut que l'accès soit bloqué pendant les heures de bureau.
Une école primaire locale interdit l'accès à l'internet aux playboy.com
site web.
Un gouvernement ne peut pas contrôler la publication des informations, il contrôle donc l'accès aux informations, en bloquant des sites tels que wikipedia.org
. Voir TOR ou FreeNet .
b) L'administrateur de Z
a bloqué X
.
Exemples :
L'administrateur de Z a remarqué des tentatives de piratage provenant de X, il a donc décidé de bloquer l'adresse IP de X (et/ou la portée du réseau).
Z est un site web de forum. X
est en train de spammer le forum. Z bloque X.
Pour cet exemple, je vais énumérer trois ordinateurs connectés à l'Internet.
Normalement, on se connecte directement à partir de X --> Z.
Cependant, dans certains scénarios, il est préférable pour l'administrateur de Z
pour restreindre ou interdire l'accès direct, et obliger les visiteurs à passer d'abord par Y. Donc, comme précédemment, nous avons des données récupérées par Y --> Z
au nom de X
qui s'enchaînent comme suit : X --> Y --> Z
.
Ce qui est différent cette fois par rapport à un "forward proxy", c'est que cette fois l'utilisateur X
ne sait pas qu'il accède à Y. Un proxy inverse est généralement moins visible qu'un "proxy direct", et ne nécessite aucune configuration ou connaissance particulière de la part du client, X
.
Le client X pense probablement qu'il visite Z
directement ( X --> Z
), mais la réalité est que Y est l'intermédiaire invisible ( X --> Y --> Z
encore).
Dans les scénarios ci-dessus, Z
a la possibilité de choisir Y
.
Conceptuellement, nous pourrions donc nous référer ou penser à une "procuration inversée" comme à une procuration "forcée" ?
La réponse de qyb2zm302 détaille joliment les applications des proxies mais fait une erreur sur le concept fondamental entre les proxies directs et inverses. Pour le proxy inverse, X -> Y -> Z, X connaît Y et non Z, et non l'inverse.
http://www.jscape.com/blog/bid/87783/Forward-Proxy-vs-Reverse-Proxy explique très clairement la différence entre les proxies directs et inversés.
Un proxy est simplement un intermédiaire pour la communication (demandes+réponses). Client <-> Proxy <-> Serveur
Proxy client : ( Client <-> Proxy ) <-> Serveur
Le mandataire agit au nom du client. Le client connaît les 3 machines impliquées dans la chaîne. Le serveur ne les connaît pas.
Serveur proxy : Client <-> ( Proxy <-> Serveur )
Le proxy agit au nom du serveur. Le client ne connaît que le proxy. Le serveur connaît toute la chaîne.
Forward et reverse sont simplement des noms dépendants de la perspective qui prêtent à confusion pour le client et le serveur proxy ?
Cette réponse est en accord avec httpd.apache.org/docs/2.0/mod/mod_proxy.html#forwardreverse et permet de l'expliquer clairement
Il semble que la caractéristique la plus pertinente dans cette comparaison soit qui sait qui. forward proxy : le client connaît à la fois le proxy (il l'a configuré en fait) et le serveur cible (puisqu'il fait une demande à l'url du serveur), tandis que, dans le cas du reverse proxy, le client connaît le proxy en tant que serveur cible (il ne sait pas ce que le proxy appelle réellement ; il peut s'agir d'un ou plusieurs serveurs). dans le cas d'un forward proxy, le serveur ne sait pas qui sont réellement les clients, car le proxy lui "transmet" la demande. forward proxy : cache le(s) client(s). reverse proxy : cache le(s) serveur(s).
@Protongun "..Un proxy est simplement un intermédiaire pour la communication (demandes + réponses) " Quel est le besoin d'un proxy en premier lieu ? Veuillez clarifier. IMHO cette réponse aurait dû être la réponse acceptée.
-La différence se situe principalement au niveau du déploiement. Les forward et reverse proxies ont tous les mêmes caractéristiques sous-jacentes, ils acceptent les requêtes HTTP dans divers formats et fournissent une réponse, généralement en accédant au serveur d'origine ou de contact.
Les serveurs complets disposent généralement de fonctions de contrôle d'accès, de mise en cache et de mappage de liens.
Un forward proxy est un proxy auquel on accède en configurant la machine cliente. Le client doit prendre en charge le protocole pour les fonctionnalités du proxy (redirection, authentification du proxy, etc.). Le proxy est transparent pour l'utilisateur, mais pas pour l'application.
Un reverse proxy est un proxy qui est déployé en tant que serveur web et se comporte comme un serveur web, à l'exception du fait qu'au lieu de composer localement le contenu à partir de programmes et de disques, il transmet la demande à un serveur d'origine. Du point de vue du client, il s'agit d'un serveur web, de sorte que l'expérience de l'utilisateur est totalement transparente.
En fait, une seule instance de proxy peut fonctionner en tant que forward et reverse proxy en même temps pour différentes populations de clients.
C'est la version courte, je peux préciser si les gens veulent faire des commentaires.
Juste pour être sûr, un forward proxy est côté client et un reverse proxy est côté serveur ?
@yves. un proxy est aussi un serveur. C'est juste que le client a besoin d'une configuration locale pour qu'ils puissent communiquer. Alors qu'un proxy inverse nécessite une configuration au niveau du serveur lui-même. Leurs nœuds physiques se trouvent tous deux du côté du serveur.
Un serveur proxy achemine par procuration (et éventuellement en cache) les demandes réseau sortantes vers diverses ressources publiques non nécessairement liées à l'Internet. Un proxy inverse capture (et éventuellement met en cache) les demandes entrantes provenant d'Internet et les distribue à diverses ressources privées internes, généralement à des fins d'administration des ressources.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.
54 votes
C'est bien expliqué dans Documentation sur Apache aussi.
3 votes
@Paolo qui l'a fait beaucoup plus facile à comprendre que l'article de Wikipedia. Je devrais peut-être modifier certaines de ces informations dans l'article de Wikipedia un jour...
0 votes
Disons que j'ai un hôte A qui doit se connecter à l'hôte C, mais qui ne le fait pas directement. Au lieu de cela, il est configuré en tant qu'entrée d'hôte ou éventuellement DNS, pour appeler B qui transmet la demande à C. C ne se soucie pas ou ne connaît pas B. Est-ce un forward proxy ou un reverse proxy ?
0 votes
Si l'hôte A ne peut pas se rendre à l'hôte C sans être configuré pour contacter d'abord l'hôte B, alors l'hôte B est un serveur proxy traditionnel ou "sortant".
8 votes
Les proxies directs garantissent l'anonymat du client (pensez à Tor). Les proxys inversés garantissent l'anonymat des serveurs dorsaux (pensez aux serveurs derrière une DMZ).