


Limite de connexion au serveur proxy inverse Nginx et méthode de réglage de la file d'attente des demandes
Limite de connexion au serveur proxy inverse Nginx et méthode de réglage de la file d'attente des demandes
Le serveur proxy inverse Nginx est un choix très courant et fiable lors de l'exécution d'applications réseau à haute concurrence. Toutefois, si les limites de connexion et les files d'attente de requêtes ne sont pas correctement configurées, le serveur peut rencontrer des goulots d'étranglement en termes de performances et des problèmes de déni de service. Cet article expliquera comment utiliser Nginx pour limiter le nombre de connexions et optimiser la file d'attente des requêtes.
Limite de connexion
Nginx peut limiter le nombre de connexions en définissant le paramètre worker_connections. Ce paramètre spécifie le nombre maximum de connexions que chaque processus de travail peut gérer simultanément. Lorsque le nombre de connexions atteint cette limite, les nouvelles connexions seront rejetées.
Ouvrez le fichier de configuration Nginx, recherchez le bloc http et ajoutez ou modifiez la ligne suivante :
http { ... worker_processes auto; worker_connections 1024; ... }
Dans l'exemple ci-dessus, worker_connections est défini sur 1024, ce qui signifie que chaque processus de travail peut gérer 1024 connexions simultanément. En fonction des performances matérielles du serveur et des exigences des applications, vous pouvez effectuer des ajustements en fonction des conditions réelles. Veuillez noter que la valeur de work_processes doit être définie sur un multiple du nombre de cœurs de processeur pour utiliser pleinement les ressources du serveur.
Réglage de la file d'attente des demandes
Lorsque le nombre de connexions simultanées dépasse la limite worker_connections, Nginx placera la demande dans la file d'attente en attente de traitement. Vous pouvez ajuster la longueur et le délai d'attente des demandes pour minimiser le risque de déni de service.
Procédez à l'édition du fichier de configuration Nginx et ajoutez ou modifiez la ligne suivante :
http { ... events { accept_mutex off; worker_connections 1024; worker_processes auto; multi_accept on; use epoll; ... } ... server { ... location / { proxy_pass http://backend; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_read_timeout 600s; proxy_connect_timeout 600s; proxy_send_timeout 600s; proxy_buffer_size 128k; proxy_buffers 4 256k; proxy_busy_buffers_size 256k; proxy_buffering on; ... } ... } }
Dans l'exemple ci-dessus, nous avons apporté plusieurs réglages à la file d'attente des requêtes. Tout d'abord, en désactivant accept_mutex, nous désactivons le mutex afin que plusieurs processus de travail puissent accepter de nouvelles connexions en même temps. Deuxièmement, définissez multi_accept sur on pour que Nginx traite toutes les requêtes de la file d'attente le plus rapidement possible. Enfin, nous définissons le délai d'attente et la taille du tampon en fonction des besoins réels.
Exemple de code
Vous trouverez ci-dessous un exemple de serveur Node.js simple, simulant une application backend.
const http = require('http'); const server = http.createServer((req, res) => { res.statusCode = 200; res.setHeader('Content-Type', 'text/plain'); res.end('Hello, World! '); }); server.listen(3000, 'localhost', () => { console.log('Server running at http://localhost:3000/'); });
Dans l'exemple ci-dessus, nous avons créé un simple serveur HTTP en écoute sur le port local 3000. Puisque ce serveur est uniquement destiné à des fins de démonstration, il renverra simplement une simple chaîne "Hello, World!".
Pour utiliser Nginx comme serveur proxy inverse, vous devez enregistrer l'exemple de code ci-dessus sous forme de fichier appelé server.js
et exécuter la commande suivante pour démarrer le serveur : server.js
的文件,并执行以下命令来启动服务器:
node server.js
接下来,将以下Nginx配置保存为一个名为nginx.conf
的文件:
http { ... server { listen 80; location / { proxy_pass http://localhost:3000; } } }
通过执行以下命令来启动Nginx:
nginx -c /path/to/nginx.conf
现在,您可以通过访问http://localhost
rrreee
nginx.conf
: rrreee
Démarrez Nginx en exécutant la commande suivante :rrreee
Maintenant, vous pouvez y accéder en visitanthttp://localhost pour accéder à votre application. Toutes les requêtes seront proxy et équilibrées de charge via le serveur Nginx. 🎜🎜Résumé🎜🎜En limitant le nombre de connexions et en ajustant la file d'attente des requêtes, vous pouvez mieux gérer les applications réseau à haute concurrence. Ce qui précède décrit comment utiliser Nginx pour limiter le nombre de connexions et optimiser la file d'attente des requêtes, et fournit un exemple simple de code de serveur Node.js. Veuillez effectuer les ajustements de configuration appropriés en fonction des besoins réels et des performances matérielles du serveur. 🎜
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!

Outils d'IA chauds

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

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

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

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

Avec le développement d'Internet, les serveurs et les applications Web sont devenus de plus en plus complexes et les attaques de sécurité ont progressivement augmenté. Nginx est l'un des outils les plus utilisés dans les serveurs Web et les technologies d'équilibrage de charge. Le mécanisme de proxy inverse de Nginx peut en faire un serveur d'applications fiable, mais il constitue également une cible largement attaquée. Dans cet article, nous explorerons comment nous défendre contre les attaques par reniflage de requêtes HTTP dans le proxy inverse Nginx. Qu’est-ce qu’une attaque par reniflage de requêtes HTTP ? Les attaques par reniflage de requêtes HTTP sont courantes

Limite de connexion au serveur proxy inverse Nginx et méthode de réglage de la file d'attente des demandes Lors de l'exécution d'applications réseau à haute concurrence, le serveur proxy inverse Nginx est un choix très courant et fiable. Toutefois, si les limites de connexion et les files d'attente de requêtes ne sont pas correctement configurées, le serveur peut rencontrer des goulots d'étranglement en termes de performances et des problèmes de déni de service. Cet article expliquera comment utiliser Nginx pour limiter le nombre de connexions et optimiser la file d'attente des requêtes. Nginx peut limiter le nombre de connexions en définissant le paramètre worker_connections.

Tutoriel de configuration du proxy inverse Nginx pour obtenir un aperçu de la communication en temps réel : cet article explique comment configurer un proxy inverse via Nginx pour obtenir une communication en temps réel avec Websocket. Websocket est un protocole de communication réseau moderne qui permet une communication en temps réel en duplex intégral entre les clients et les serveurs. Contexte : Dans le protocole HTTP traditionnel, le client envoie une requête au serveur et la connexion est fermée immédiatement après que le serveur a renvoyé une réponse, ce qui rend la communication en temps réel impossible. Et Websocket

À mesure que les applications Web continuent d'évoluer, nous avons besoin de plus en plus de mesures de sécurité pour protéger nos données et notre vie privée. Parmi eux, la résolution DNS sécurisée est une mesure très importante, qui peut nous protéger contre les attaques de serveurs DNS malveillants. Il est également important d'utiliser une résolution DNS sécurisée dans le proxy inverse Nginx. Cet article discutera de la résolution DNS sécurisée dans le proxy inverse Nginx et expliquera comment le configurer. Qu’est-ce que la résolution DNS ? La résolution DNS (DomainNameSystem) convertit les noms de domaine en IP

Configuration HTTPS du proxy inverse Nginx, transmission cryptée de sites Web Avec le développement rapide d'Internet, la sécurité lors de la transmission des données est devenue de plus en plus importante. Afin de protéger la confidentialité des utilisateurs et la sécurité des données, le cryptage des transmissions sur les sites Web est devenu un moyen nécessaire. L'utilisation du protocole HTTPS permet de crypter la transmission des données et d'assurer la sécurité du site Web. En tant que serveur Web hautes performances, Nginx peut configurer des sites Web HTTPS via un proxy inverse. Présentons Ngi en détail ci-dessous

Configuration WebSocket du proxy inverse Nginx pour obtenir une communication en temps réel WebSocket est un protocole réseau qui prend en charge la communication en duplex intégral. Il peut établir une connexion persistante entre le client et le serveur pour établir une communication en temps réel. Nginx est un serveur Web et un serveur proxy inverse hautes performances. Grâce à la configuration du proxy inverse de Nginx, vous pouvez transmettre les requêtes WebSocket au serveur principal, réalisant ainsi la fonction de communication en temps réel de WebSocket. Voici un guide sur la façon de configurer Ng

Nginx est un serveur proxy inverse largement utilisé et un serveur Web léger. Dans l'architecture de proxy inverse, Nginx joue le rôle d'intermédiaire entre la requête et le client, utilisé pour résoudre les problèmes d'équilibrage de charge du serveur, de mise en cache, de sécurité et autres. Lors de l'application du proxy inverse Nginx, il offre à l'équipe plus de choix pour l'architecture du serveur et peut répondre rapidement aux changements et aux besoins de l'entreprise. Dans le processus d'utilisation du proxy inverse Nginx, le contrôle d'accès multi-ports est devenu un problème de plus en plus important. Cet article détaillera

1. Le concept de proxy inverse Nginx Le proxy inverse signifie qu'une fois que le serveur proxy a reçu la demande du client, il transmet la demande au serveur interne pour traitement et renvoie le résultat du traitement au client. Nginx est un serveur Web et un serveur proxy inverse hautes performances et fiable, largement utilisé dans les services Internet, les applications mobiles, le streaming vidéo et d'autres domaines. 2. Problèmes de contrôle d'accès à plusieurs sections du proxy inverse Nginx Lors de l'exécution d'un proxy inverse, des problèmes de contrôle d'accès à plusieurs sections sont souvent impliqués. Par exemple, le module de commande d'un site e-commerce
