1. Introduction au contexte
Nginx (moteur x) est un serveur HTTP et proxy inverse hautes performances, Nginx est un serveur Web/proxy inverse léger et un serveur proxy de messagerie. Ses caractéristiques sont qu'il occupe moins de mémoire et possède de fortes capacités de concurrence. En fait, les capacités de concurrence de nginx fonctionnent mieux entre les serveurs Web du même type. Les utilisateurs de sites Web nginx en Chine continentale incluent : Baidu, JD.com, Sina, NetEase, Tencent, Taobao, etc.
2. Analyse des connaissances
1. Serveur proxy
Désigne généralement la machine à l'intérieur du réseau local qui envoie des requêtes au serveur sur Internet via le serveur proxy. agit généralement du côté du client. Un processus complet de demande de proxy est le suivant : le client crée d'abord une connexion avec le serveur proxy, puis demande de créer une connexion au serveur cible ou d'obtenir les ressources spécifiées du serveur cible selon le protocole proxy utilisé par le serveur proxy. Le serveur proxy Web (proxy) est l'entité intermédiaire du réseau. Le proxy se situe entre le client web et le serveur web, jouant le rôle d'« intermédiaire ». Le serveur proxy HTTP est à la fois un serveur Web et un client Web.
2. Proxy de transfert
Un proxy de transfert est un serveur situé entre le client et le serveur d'origine. Afin d'obtenir du contenu du serveur d'origine, le client envoie une requête et précise la cible. (serveur d'origine), le proxy transmet ensuite la requête 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.
3. Proxy inverse
Proxy inverse Dans le monde informatique, il existe une limite à la capacité d'un seul serveur à gérer les demandes des clients (utilisateurs) lorsque les demandes d'accès des utilisateurs affluent, parfois. , cela rendra le serveur trop occupé. Plusieurs serveurs peuvent être utilisés pour partager des milliers de demandes d'utilisateurs. Ces serveurs fournissent le même service, et les utilisateurs ne ressentiront aucune différence. Le serveur accepte la demande du client, puis distribue la demande à un serveur spécifique pour traitement, puis renvoie la réponse du serveur au client.
4. Implémentation du proxy inverse
1) Un dispositif d'équilibrage de charge est nécessaire pour distribuer les demandes des utilisateurs et distribuer les demandes des utilisateurs aux serveurs inactifs
2) Le serveur renvoie son ; propres services au dispositif d'équilibrage de charge ;
3) L'équilibrage de charge renvoie les services du serveur à l'utilisateur
3. Questions fréquemment posées
1. proxy Quelle est la différence entre le proxy inverse
2. Pourquoi utiliser le proxy inverse
4 Solution
Réponse : 1. La différence entre les deux est que les objets du. proxy sont différents : Positif L'objet représenté par le proxy est le client et l'objet représenté par le proxy inverse est le serveur.
Réponse : 2. Facilite la distribution et l'expansion du serveur. En pratique, il existe une limite à la capacité d'un seul serveur à gérer les requêtes des clients. Lorsque le nombre de requêtes est trop important, le serveur sera trop occupé. Par conséquent, plusieurs serveurs sont utilisés pour partager le traitement des requêtes de l'utilisateur. fournir le même service. Pour les utilisateurs, il n’y a aucune différence. Ensuite, un périphérique d'équilibrage de charge est nécessaire pour distribuer les demandes des utilisateurs aux serveurs inactifs, puis le serveur renvoie les résultats au périphérique d'équilibrage de charge, et l'équilibrage de charge les renvoie à l'utilisateur. De cette façon, lors de l'ajout/suppression d'un serveur, il vous suffit de modifier la liste des serveurs d'équilibrage de charge sans affecter la sécurité du serveur. Évitez l'exposition directe des adresses IP et des ports à Internet, empêchant ainsi l'exploitation de l'hôte pour des failles de sécurité. Le nombre de serveurs proxy est limité, ce qui rend la protection de sécurité plus pratique.
5. Références
Baidu, livres
6 Plus de discussions
1. Quels sont les algorithmes d'équilibrage de charge ?
Réponse : méthode Round Robin, méthode aléatoire (Aléatoire), méthode de hachage d'adresse source (Hash), méthode Round Robin pondérée (Weight Round Robin), méthode aléatoire pondérée (Weight Random), méthode des moindres connexions minimales.
2. Que signifie le nom du serveur dans la configuration ?
Réponse :
La directive server_name dans Nginx est principalement utilisée pour configurer des hôtes virtuels basés sur le nom. L'ordre de correspondance de la directive server_name après réception de la requête est :
1. , Le nom_serveur exact correspond à
2. Chaîne commençant par * joker
3. Chaîne se terminant par * joker
4. Expression régulière correspondante :
3. Quelle est la différence entre le proxy inverse et l’équilibrage de charge ?
Réponse : Le proxy inverse est une méthode permettant d’équilibrer la charge. Parlons d’abord du proxy inverse. Lorsque l'utilisateur fait une demande, il envoie d'abord la demande au serveur proxy, puis le serveur proxy demande au serveur réel en fonction de l'algorithme et la renvoie enfin à l'utilisateur. Cette approche, premièrement, améliore la sécurité ; deuxièmement, elle partage les demandes des utilisateurs via plusieurs serveurs réels et réalise un équilibrage de charge. Parlons à nouveau de l’équilibrage de charge. L'émergence de l'équilibrage de charge consiste à réduire autant que possible la pression sur un seul serveur grâce à une expansion horizontale. Les solutions d'équilibrage de charge courantes au niveau WEB incluent le matériel F5, le proxy Nginx, LVS, les services d'équilibrage de charge de divers fournisseurs de cloud (tels que le service ELB d'AWS), etc. Ce qui est connecté derrière l'équilibrage de charge est généralement le serveur qui fournit réellement le service. Par exemple, via le service ELB, le trafic peut être partagé de manière égale, réduisant ainsi la pression sur le serveur autonome.
Pour plus d'articles techniques liés à Nginx, veuillez visiter la colonne Tutoriel Nginx pour apprendre !
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!