[Architecture du site Web] Configuration du proxy Nginx 4 couches, 7 couches, explication détaillée du proxy direct et du proxy inverse

Bonjour à tous et bienvenue sur la chaîne Stop Refactoring.

Dans ce numéro, nous abordons les proxys Web .

Comme mentionné dans le numéro précédent de "Large Website Security", pour des raisons de sécurité du réseau, les grands sites Web doivent généralement isoler la zone du réseau pour empêcher les attaquants de contrôler directement le serveur.

L'application et la base de données du système de site Web seront placées dans cette zone de sécurité du réseau . Cela crée un problème de proxy .

Les demandes de réseau externe doivent arriver et les appels de service tiers doivent sortir. Dans cet épisode, nous discutons en détail du problème de l'agence, et nous en discutons dans cet ordre :​​

1. Proxy inverse, les demandes de réseau externe arrivent 

2. Proxy de transfert, demandant des services réseau externes 

Proxy inverse, recevant des requêtes réseau externes

Les demandes de réseau externe doivent passer par la passerelle unifiée pour inverser le proxy dans la zone d'isolation du réseau. La passerelle peut être un service d'équilibrage de charge ou un logiciel de service tel que Nginx.

 

S'il s'agit de Nginx, la configuration du proxy inverse est la suivante.

 

Ce qu'il faut expliquer ici, c'est que si la demande de réseau externe est https , il n'est pas nécessaire que tous les services de l'ensemble du système de site Web soient https. Il suffit de s'assurer que https est configuré au niveau de la passerelle et que le les appels internes du système utilisent toujours http .

Si des services cloud tels que l'équilibrage de charge sont utilisés, https doit uniquement être configuré dans le service d'équilibrage de charge, et l'appel du système de site Web lui-même est toujours http, car il n'y a aucun avantage à utiliser la communication https à l'intérieur du système de site Web, mais il réduira les performances.

 

Proxy de transfert, appelant des services réseau externes

Parfois, le système de site Web doit appeler des services tiers, et le très grand système de site Web séparera plusieurs zones d'isolation du réseau, et la sauvegarde de récupération après sinistre doit être sauvegardée par la zone d'isolation du réseau.

Dans les scénarios ci-dessus, le système du site Web doit appeler un serveur en dehors de la zone d'isolation du réseau. À ce stade, il doit transmettre le proxy au serveur cible via le même serveur proxy .

 

Le proxy de transfert peut utiliser Nginx comme logiciel de service. Il existe généralement deux manières de proxy de transfert, l'une est le proxy à 7 couches et l'autre est le proxy à 4 couches.

Le modèle en couches du réseau est généralement divisé en 7 couches selon le modèle OSI.

La septième couche est la couche d'application , qui correspond aux protocoles HTTP, HTTPS, RTMP, SMTP et autres couramment entendus.

La quatrième couche est la couche de transport , c'est-à-dire les protocoles de base tels que TCP et UDP.

L'agent de couche 7 et l'agent de couche 4 correspondants sont les deux couches réseau correspondantes.

Si vous utilisez un proxy de couche 7 , la configuration Nginx ressemble à ceci.

Cette configuration est cohérente avec la configuration du proxy inverse ci-dessus , et peut servir de proxy à plusieurs serveurs cibles en faisant correspondre les mots-clés d'URL.

Le système du site Web appelle le service de réseau externe et doit faire pointer l'adresse IP/le port vers le serveur proxy Bien sûr, nous vous recommandons d'utiliser l'appel de nom de domaine, et l'appel peut être dirigé vers le serveur proxy en modifiant le fichier hôte du serveur.

Bien sûr, en plus de modifier le pointage IP, vous pouvez également définir http_proxy, https_proxy et d'autres paramètres pour définir le proxy, mais cette méthode n'est pas recommandée, car elle n'est pas très bonne à gérer.

L'autre est que la configuration du proxy Nginx à 4 couches est comme ceci, mais un port doit correspondre à un serveur cible , et le système du site Web appelle les services réseau externes doivent également pointer l'IP/port vers le serveur proxy.

Et parce que le proxy de couche 4 est basé sur les protocoles de base de TCP/UDP, les requêtes basées sur TCP telles que HTTP et RTMP peuvent partager un port proxy .

 

Bien sûr, la configuration du proxy de couche 4 est plus compliquée que celle du proxy de couche 7, nécessitant un port correspondant à un serveur cible.

Mais nous recommandons davantage le proxy de couche 4 .

L'une est que les performances et la stabilité seront relativement élevées, et l'autre est une meilleure gestion. Puisqu'un port correspond à un service réseau externe cible, s'il y a des problèmes inattendus, vous pouvez directement fermer le port correspondant sur le serveur proxy pour vous déconnecter. immédiatement Spécifiez le service réseau externe sans affecter l'appel d'autres services réseau externes.

Résumer

Dans ce numéro, nous avons parlé du schéma de proxy du système de site Web, qui est en fait l'un des contenus du numéro précédent de la sécurité du système de site Web. Ce numéro en traite plus en détail.

Je suppose que tu aimes

Origine blog.csdn.net/Daniel_Leung/article/details/130467891
conseillé
Classement