Table des matières
Le concept d'agent transitaire" >Le concept d'agent transitaire
Le concept de proxy inverse" >Le concept de proxy inverse
两者区别" >两者区别
Maison développement back-end tutoriel php Comprendre la différence entre le proxy direct et le proxy inverse

Comprendre la différence entre le proxy direct et le proxy inverse

Jun 11, 2018 am 10:49 AM

Le concept d'agent transitaire

L'agent transitaire, également connu sous le nom d'agent légendaire, fonctionne comme un tremplin,
En termes simples,
Je suis un utilisateur, je Je ne peux pas accéder à un certain site Web, mais je peux accéder à un serveur proxy
Quant à ce serveur proxy, il peut accéder au site Web auquel je ne peux pas accéder
Je me suis donc d'abord connecté au serveur proxy et lui ai dit que j'avais besoin du contenu du site Web inaccessible
Le serveur proxy le récupère, puis me le renvoie

Du point de vue du site Web, il n'y a qu'un seul enregistrement lorsque le serveur proxy vient récupérer le contenu
Parfois, je ne sais pas. C'est la demande de l'utilisateur et cache également les informations de l'utilisateur. Cela dépend si le proxy le dit au site Web

La conclusion est que le proxy direct est un serveur entre le client et le serveur d'origine. , afin d'obtenir le contenu du serveur d'origine, le client envoie une requête au proxy et spécifie la cible (serveur d'origine), puis le proxy transmet la demande au serveur d'origine et renvoie le contenu obtenu. au client. Le client doit définir certains paramètres spéciaux pour utiliser le proxy de transfert.
Activer le module proxy Apache

a2enmod proxy
a2enmod proxy_http
Copier après la connexion

La configuration du proxy de transfert est très simple, il suffit d'aller dans l'option Proxy du navigateur Ajoutez simplement l'hôte vHost configuré par votre Apache Configuration Apache 1.1 httpd-vhosts.conf (prenez Windows comme exemple)

<VirtualHost *:80>
    ServerAdmin prograsliu@gmail.com
    DocumentRoot "D:/www/test"
    ServerName www.test.com
    ServerAlias test.com
    ErrorLog "logs/test.com-error.log"
    CustomLog "logs/test.com-access.log" common    
    Alias /sublook "D:/www/test/look/sublook/"
    <Directory "D:/www/test">
        Options FollowSymLinks
        AllowOverride All
        Order allow,deny
        Allow from all
    </Directory>
    
    #正向代理设置
    ProxyRequests On
    ProxyVia On
    <Proxy *>
        Order deny,allow
        Deny from all
        Allow from 127.0.0.1
    </Proxy>
</VirtualHost>
Copier après la connexion

Voir maintenant la section des paramètres du proxy de transfert
ProxyRequests On : Activer le proxy de transfert Apache
ProxyVia On : Contrôler le flux des requêtes de proxy situées dans la chaîne du serveur proxy
Citer l'explication de ProxyVia dans le document officiel Apache2.2 comme suit :
1. Si la valeur par défaut est Off, aucun traitement spécial ne sera appliqué. Si une requête ou une réponse contient un en-tête « Via : », elle sera transmise sans aucune modification.
2. Si défini sur On, chaque demande et réponse recevra un en-tête "Via:" correspondant à l'hôte actuel.
3. Si défini sur Full, la version du serveur Apache sera ajoutée à chaque en-tête "Via:" généré, apparaissant dans le champ d'annotation "Via:".
4. Si la valeur est Bloquer, toutes les lignes d'en-tête « Via : » dans chaque demande de proxy seront supprimées. Et aucun nouvel en-tête « Via : » ne sera généré.
... : Utilisé pour contrôler qui peut accéder à votre proxy

<Proxy *>
     Order deny,allow
    Deny from all
     Allow from 127.0.0.1
</Proxy>
Copier après la connexion

Ceci est défini pour que la machine locale puisse utiliser le proxy, lorsqu'elle est réellement utilisé, je l'ai défini moi-même
1.2 Paramètres du navigateur (prenons FireFox comme exemple)


1.3 Effet d'accès

Visitez www.sina.com et observez la requête HTTP Réponse :


Vous pouvez voir que Via : www.test.com, le proxy direct est réussi.

Le concept de proxy inverse

En continuant avec l'exemple :
Par exemple, un utilisateur visite http://test.me/readme
Mais testez. La page Lisez-moi n'existe pas sur moi
Il l'a récupérée secrètement sur un autre serveur puis l'a crachée à l'utilisateur comme son propre contenu

Mais l'utilisateur ne le savait pas

Ce qui est mentionné ici Le serveur correspondant au nom de domaine test.me a été mis en place avec une fonction reverse proxy

结论就是 反向代理正好相反,对于客户端而言它就像是原始服务器,并且客户端不需要进行任何特别的设置。客户端向反向代理 的命名空间(name-space)中的内容发送普通请求,接着反向代理将判断向何处(原始服务器)转交请求,并将获得的内容返回给客户端,就像这些内容 原本就是它自己的一样。

2.1 Apache设置

<VirtualHost *:80>
     ServerAdmin prograsliu@gmail.com
     DocumentRoot "D:/www/test"
     ServerName www.test.com
     ServerAlias test.com
     ErrorLog "logs/test.com-error.log"
     CustomLog "logs/test.com-access.log" common    
     Alias /sublook "D:/www/test/look/sublook/"
     <Directory "D:/www/test">
         Options FollowSymLinks
         AllowOverride All
         Order allow,deny
         Allow from all
     </Directory>
     
     #反向代理设置
     ProxyPass /proxy http://www.proxypass.com/proxy
     ProxyPassReverse /proxy http://www.proxypass.com/proxy
 
 </VirtualHost>
 
 <VirtualHost *:80>
     ServerAdmin prograsliu@gmail.com
     DocumentRoot "D:/www/proxypass"
     ServerName www.proxypass.com
     ServerAlias proxypass.com
     <Directory "D:/www/proxypass">
         Options FollowSymLinks
         AllowOverride All
         Order allow,deny
         Allow from all
     </Directory>
 </VirtualHost>
Copier après la connexion

现在看反向代理设置那一段
ProxyPass /proxy http://www.proxypass.com/proxy : 将 www.test.com/proxy 域下的所有请求转发给 www.proxypass.com/proxy 代理,例如 www.test.com/proxy/login.php 会交给 www.proxypass.com/proxy/login.php 代理
ProxyPassReverse /proxy http://www.proxypass.com/proxy :
www.proxypass.com/proxy/login.php 中有如下代码:

<?php
    header(&#39;Location: http://www.proxypass.com/proxy/result.php&#39;);
?>
Copier après la connexion

那么在重定向的时候,Apache会将HTTP请求重新设为 http://www.test.com/proxy/result.php, 这样的作用稍后讲解
www.proxypass.com/proxy/result.php 中有如下代码:

<?php
    echo &#39;in proxypass.com <br>&#39;;
?>
Copier après la connexion

2.2 浏览器访问效果
访问 www.test.com/proxy/login.php
Apache将请求交给 www.proxypass.com/proxy/login.php 代理,HTTP请求如图:

可以发现其实Request中的请求还是 www.test.com 的,但是它确实是由 www.proxypass.com 来处理的

proxypass.com/proxy/login.php 重定向到 proxypass.com/proxy/result.php
页面显示 in proxypass.com
HTTP请求如图:



也可以看到请求依然是 www.test.com/proxy/result.php

这里就是 ProxyPassReverse 发挥作用的地方,如果不加这个项,重定向后HTTP请求会如下图:


可以发现请求中的GET是 www.proxypass.com 而不是 www.test.com ,这是因为配置了ProxyPassReverse后,proxypass.com/proxy/login.php 在重定向到 proxypass.com/proxy/result.php 时,Apache会将它调整回 test.com/proxy/result.php , 然后Apache再将 test.com/proxy/result.php 代理给 proxypass.com/proxy/result.php,所以说配置了 ProxyPassReverse 后,即使 proxypass.com/proxy 下的程序有重定向到其他 proxypss.com/proxy 的文件的(如 login.php 重定向到 result.php),你也不会在请求中发现 proxypass.com 的影子。

两者区别

用途上来讲:

正向代理的典型用途是为在防火墙内的局域网客户端提供访问Internet的途径。
正向代理还可以使用缓冲特性减少网络使用率。
反向代理的典型用途是将防火墙后面的服务器提供给Internet用户访问。
反向代理还可以为后端的多台服务器提供负载平衡,或为后端较慢的服务器提供缓冲服务。

另外,反向代理还可以启用高级URL策略和管理技术,从而使处于不同web服务器系统的web页面同时存在于同一个URL空间下。

Du point de vue de la sécurité :

Le proxy direct permet au client d'accéder à n'importe quel site Web via celui-ci et de masquer le client lui-même, vous devez donc prendre des mesures de sécurité pour vous assurer que seul le client autorisé le client fournit des services.

Les proxys inverses sont transparents pour le monde extérieur et les visiteurs ne savent pas qu'ils visitent un proxy.

Cet article explique la différence entre le proxy direct et le proxy inverse. Pour plus de contenu connexe, veuillez faire attention au site Web chinois php.

Recommandations associées :

Comment utiliser Apache pour créer un hôte virtuel

Comment démarrer et surveiller le sh memcached processus

Présentation du contenu pertinent de la connexion automatique à Google Play pour télécharger le rapport de l'application

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment utiliser Nginx avec FastAPI pour le proxy inverse et l'équilibrage de charge Comment utiliser Nginx avec FastAPI pour le proxy inverse et l'équilibrage de charge Aug 01, 2023 am 09:44 AM

Comment utiliser Nginx avec FastAPI pour le proxy inverse et l'équilibrage de charge Introduction : FastAPI et Nginx sont deux outils de développement Web très populaires. FastAPI est un framework Python hautes performances et Nginx est un puissant serveur proxy inverse. L'utilisation conjointe de ces deux outils peut améliorer les performances et la fiabilité de vos applications Web. Dans cet article, nous apprendrons comment utiliser Nginx avec FastAPI pour le proxy inverse et l'équilibrage de charge. Qu'est-ce que la génération inverse

Application du contrôle d'accès et du contrôle de flux dans le proxy inverse Nginx Application du contrôle d'accès et du contrôle de flux dans le proxy inverse Nginx Jun 10, 2023 pm 06:58 PM

Nginx est un serveur Web hautes performances, open source et polyvalent qui est également largement utilisé comme serveur proxy inverse. Les serveurs proxy inverses peuvent être utilisés pour fournir des fonctionnalités telles que l'équilibrage de charge, la haute disponibilité, le contrôle d'accès et le contrôle du trafic. Cet article présentera l'application du contrôle d'accès et du contrôle de flux dans le proxy inverse Nginx. 1. Liste noire/liste blanche d'adresses IP de contrôle d'accès Nginx peut mettre en œuvre un contrôle d'accès sur les demandes en configurant une liste noire ou une liste blanche d'adresses IP. Les adresses IP de la liste noire se verront refuser l'accès, tandis que les adresses IP de la liste blanche

Explication détaillée du proxy inverse et du transfert de requêtes dans le cadre Gin Explication détaillée du proxy inverse et du transfert de requêtes dans le cadre Gin Jun 23, 2023 am 11:43 AM

Avec le développement rapide des applications Web, de plus en plus d'entreprises ont tendance à utiliser le langage Golang pour le développement. Dans le développement Golang, l’utilisation du framework Gin est un choix très populaire. Le framework Gin est un framework Web hautes performances qui utilise fasthttp comme moteur HTTP et possède une conception d'API légère et élégante. Dans cet article, nous approfondirons l'application du proxy inverse et le transfert de requêtes dans le framework Gin. Le concept de proxy inverse Le concept de proxy inverse consiste à utiliser le serveur proxy pour rendre le client

Configuration du cache proxy inverse Nginx pour accélérer l'accès aux pages Web statiques Configuration du cache proxy inverse Nginx pour accélérer l'accès aux pages Web statiques Jul 04, 2023 pm 06:09 PM

Configuration du cache proxy inverse Nginx pour obtenir une accélération statique de l'accès aux pages Web Introduction : Avec le développement rapide d'Internet, la vitesse d'accès est devenue un facteur très important dans les opérations des sites Web. Afin d'améliorer la vitesse d'accès aux pages Web, nous pouvons utiliser la technologie de mise en cache de proxy inverse Nginx pour accélérer les pages Web. Cet article explique comment utiliser Nginx pour configurer le cache proxy inverse afin d'accélérer les pages Web statiques. Configuration du cache proxy inverse Nginx : Installer Nginx : vous devez d'abord installer le serveur Nginx, ce qui peut être effectué via apt-ge

Comment utiliser Nginx Proxy Manager pour implémenter un proxy inverse sous le protocole HTTPS Comment utiliser Nginx Proxy Manager pour implémenter un proxy inverse sous le protocole HTTPS Sep 26, 2023 am 08:40 AM

Comment utiliser NginxProxyManager pour implémenter un proxy inverse sous protocole HTTPS Ces dernières années, avec la popularité d'Internet et la diversification des scénarios d'application, les méthodes d'accès aux sites Web et aux applications sont devenues de plus en plus complexes. Afin d'améliorer l'efficacité et la sécurité de l'accès aux sites Web, de nombreux sites Web ont commencé à utiliser des proxys inverses pour traiter les demandes des utilisateurs. Le proxy inverse du protocole HTTPS joue un rôle important dans la protection de la confidentialité des utilisateurs et dans la sécurité des communications. Cet article expliquera comment utiliser NginxProxy

Utilisation de Nginx Proxy Manager pour mettre en œuvre une stratégie d'équilibrage de charge de proxy inverse Utilisation de Nginx Proxy Manager pour mettre en œuvre une stratégie d'équilibrage de charge de proxy inverse Sep 26, 2023 pm 12:05 PM

Utilisez NginxProxyManager pour mettre en œuvre une stratégie d'équilibrage de charge de proxy inverse NginxProxyManager est un outil de gestion de proxy basé sur Nginx qui peut nous aider à mettre en œuvre facilement un proxy inverse et un équilibrage de charge. En configurant NginxProxyManager, nous pouvons distribuer les requêtes à plusieurs serveurs backend pour réaliser un équilibrage de charge et améliorer la disponibilité et les performances du système. 1. Installez et configurez NginxProxyManager

Configuration du cache proxy inverse Nginx pour améliorer la vitesse d'accès au site Web Configuration du cache proxy inverse Nginx pour améliorer la vitesse d'accès au site Web Jul 04, 2023 pm 10:01 PM

Configuration du cache proxy inverse Nginx pour améliorer la vitesse d'accès aux sites Web Introduction : À l'ère d'Internet, la vitesse d'accès aux sites Web est cruciale. Un site Web qui se charge lentement rend les utilisateurs impatients et peut entraîner un désabonnement des utilisateurs. Afin d'améliorer la vitesse d'accès au site Web, une méthode courante consiste à réduire la charge sur le serveur et à accélérer le chargement de la page en utilisant le cache proxy inverse. Cet article explique comment utiliser Nginx pour configurer le cache proxy inverse afin d'améliorer la vitesse d'accès au site Web. 1. Qu'est-ce que le cache proxy inverse Nginx ? Ngin

[Résumé] Raisons et solutions courantes pour l'inaccessibilité du proxy inverse PHP [Résumé] Raisons et solutions courantes pour l'inaccessibilité du proxy inverse PHP Mar 21, 2023 pm 07:10 PM

Lorsque vous utilisez un proxy inverse, vous pouvez rencontrer des problèmes d'inaccessibilité. Surtout lorsque vous utilisez PHP comme proxy inverse, ce problème semble être plus important. Cet article explique les causes courantes et les solutions à ce problème.

See all articles