recherche
MaisonOpération et maintenanceNginxCompréhension approfondie des stratégies de protection de sécurité de Nginx pour limiter les taux de requêtes et prévenir les requêtes malveillantes

Compréhension approfondie des stratégies de protection de sécurité de Nginx pour limiter les taux de requêtes et prévenir les requêtes malveillantes

Nginx est un serveur Web open source hautes performances. Il peut non seulement être utilisé pour déployer des sites Web statiques, un proxy inverse et un équilibrage de charge, mais également. grâce à une série de stratégies de protection de sécurité pour protéger nos serveurs contre les requêtes malveillantes. Cet article se concentrera sur les stratégies de protection de sécurité de Nginx pour limiter les taux de requêtes et prévenir les requêtes malveillantes, et fournira des exemples de code pertinents.

  1. Limiter le taux de requêtes

Les requêtes malveillantes sont souvent initiées de plusieurs manières à haute fréquence, ce qui exerce une pression énorme sur le serveur. Afin d'éviter une surcharge du serveur, nous pouvons utiliser le module Nginx pour limiter le taux de requêtes. .

Dans le fichier de configuration Nginx, vous pouvez utiliser la directive limit_req_zone pour créer une zone de mémoire partagée avec une limite de taux de requêtes, par exemple : limit_req_zone指令来创建一个请求速率限制的共享内存区域,例如:

http {
    limit_req_zone $binary_remote_addr zone=limit:10m rate=1r/s;
}

以上配置创建了一个10MB大小的内存区域,限制每秒钟从同一个客户端IP地址发起的请求数不超过1个。接下来,我们可以在具体的请求处理块中使用limit_req指令来应用这个限制,例如:

server {
    location /api/ {
        limit_req zone=limit burst=5;
        proxy_pass http://backend;
    }
}

以上配置表示在/api/路径下限制请求速率,并设置了一个突发限制值为5。这样一来,如果有大量的请求超过了限制速率,Nginx将返回503错误给客户端,并抛弃这些请求。

  1. 防止恶意请求

除了限制请求速率,我们还可以通过其他策略来防止恶意请求,例如:

  • IP白名单/黑名单:可以通过allowdeny指令来设置IP的访问控制,只允许白名单中的IP访问,或者拦截黑名单中的IP。例如:
location /admin/ {
    allow 192.168.1.0/24;
    deny all;
}

以上配置表示只允许IP在192.168.1.0/24网段内的访问/admin/路径。

  • URI黑名单:可以通过if指令和正则表达式来拦截恶意请求的URI。例如:
location / {
    if ($uri ~* "/wp-admin" ) {
        return 403;
    }
}

以上配置表示如果请求的URI中包含/wp-admin,则返回403错误。

  • Referer检查:可以通过检查请求头中的Referer字段来判断请求的来源是否合法。例如:
server {
    location / {
        if ($http_referer !~* "^https?://example.com") {
            return 403;
        }
    }
}

以上配置表示如果Referer字段不是以http://example.comhttps://example.comrrreee

La configuration ci-dessus crée une zone mémoire de 10 Mo, limitée par seconde Le nombre de requêtes initiées à partir de la même adresse IP client ne doit pas dépasser 1. Ensuite, nous pouvons utiliser la directive limit_req dans le bloc de traitement de requête spécifique pour appliquer cette limite, par exemple :

rrreee

La configuration ci-dessus indique que les requêtes sont limitées sous le /api/ code> path rate et définissez une valeur limite de rafale de 5. De cette façon, si un grand nombre de requêtes dépasse le taux limite, Nginx renverra une erreur 503 au client et abandonnera ces requêtes. <p></p> <ol start="2">Prévenir les requêtes malveillantes<p></p>🎜En plus de limiter le taux de requêtes, nous pouvons également empêcher les requêtes malveillantes grâce à d'autres stratégies, telles que : 🎜</ol> <ul>🎜Liste blanche/liste noire IP : vous pouvez passer <code les directives>allow et deny sont utilisées pour définir le contrôle d'accès IP, autorisant uniquement l'accès IP dans la liste blanche, ou bloquant les IP dans la liste noire. Par exemple : 🎜rrreee🎜La configuration ci-dessus signifie que seules les adresses IP du segment réseau 192.168.1.0/24 sont autorisées à accéder au chemin /admin/. 🎜
    🎜Liste noire des URI : vous pouvez intercepter les URI demandés malveillants via la directive if et les expressions régulières. Par exemple : 🎜
rrreee🎜La configuration ci-dessus signifie que si l'URI demandé contient /wp-admin, une erreur 403 sera renvoyée. 🎜
    🎜Vérification du référent : vous pouvez déterminer si la source de la demande est légitime en vérifiant le champ Référent dans l'en-tête de la demande. Par exemple : 🎜
rrreee🎜La configuration ci-dessus signifie que si le champ Référent ne commence pas par http://example.com ou https://example.com code>, il sera renvoyé une erreur 403. 🎜🎜En résumé, Nginx propose une multitude de stratégies de protection de sécurité pour limiter les taux de requêtes et prévenir les requêtes malveillantes. En configurant correctement Nginx, nous pouvons protéger le serveur des requêtes malveillantes et améliorer la stabilité et la sécurité du serveur. 🎜🎜Ce qui précède est une introduction à la compréhension approfondie des stratégies de protection de sécurité de Nginx pour limiter les taux de requêtes et prévenir les requêtes malveillantes. J'espère que cela sera utile aux lecteurs. 🎜🎜 (Remarque : les éléments ci-dessus ne sont que des exemples de code et peuvent ne pas être entièrement applicables à l'environnement de production. Veuillez configurer en fonction de la situation réelle et de la documentation officielle de Nginx.) 🎜

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
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
Unité Nginx par rapport aux autres serveurs d'applicationUnité Nginx par rapport aux autres serveurs d'applicationApr 24, 2025 am 12:14 AM

Nginxunit est meilleur que les serveurs HTTP intégrés Apachetomcat, Gunicorn et Node.js, adaptés aux projets multilingues et aux exigences de configuration dynamique. 1) prend en charge plusieurs langages de programmation, 2) fournit un rechargement de configuration dynamique, 3) une fonction d'équilibrage de charge intégrée, adaptée aux projets qui nécessitent une évolutivité et une fiabilité élevées.

Unité Nginx: l'architecture et comment cela fonctionneUnité Nginx: l'architecture et comment cela fonctionneApr 23, 2025 am 12:18 AM

Nginxunit améliore les performances et la gestion des applications avec ses capacités d'architecture modulaire et de reconfiguration dynamique. 1) La conception modulaire comprend des processus de maîtrise, des routeurs et des processus d'application, soutenant une gestion et une expansion efficaces. 2) La reconfiguration dynamique permet une mise à jour transparente de la configuration à l'exécution, adaptée aux environnements CI / CD. 3) Le support multilingue est implémenté par le chargement dynamique de l'exécution du langage, améliorant la flexibilité du développement. 4) Les performances élevées sont obtenues grâce à des modèles axés sur des événements et à des E / S asynchrones, et reste efficace même sous une concurrence élevée. 5) La sécurité est améliorée en isolant les processus d'application et en réduisant l'influence mutuelle entre les applications.

Utilisation de l'unité Nginx: déploiement et gestion des applicationsUtilisation de l'unité Nginx: déploiement et gestion des applicationsApr 22, 2025 am 12:06 AM

Nginxunit peut être utilisé pour déployer et gérer les applications en plusieurs langues. 1) Installez Nginxunit. 2) Configurez-le pour exécuter différents types d'applications telles que Python et PHP. 3) Utilisez sa fonction de configuration dynamique pour la gestion des applications. Grâce à ces étapes, vous pouvez déployer et gérer efficacement les applications et améliorer l'efficacité du projet.

Nginx vs Apache: une analyse comparative des serveurs WebNginx vs Apache: une analyse comparative des serveurs WebApr 21, 2025 am 12:08 AM

Nginx convient plus à la gestion des connexions simultanées élevées, tandis qu'Apache convient plus aux scénarios où des configurations complexes et des extensions de module sont nécessaires. 1.Nginx est connu pour ses performances élevées et sa faible consommation de ressources, et convient à une concurrence élevée. 2.Apache est connu pour sa stabilité et ses riches extensions de modules, qui conviennent aux besoins de configuration complexes.

Avantages de l'unité Nginx: flexibilité et performancesAvantages de l'unité Nginx: flexibilité et performancesApr 20, 2025 am 12:07 AM

Nginxunit améliore la flexibilité et les performances des applications avec sa configuration dynamique et son architecture haute performance. 1. La configuration dynamique permet de régler la configuration de l'application sans redémarrer le serveur. 2.

Nginx vs Apache: performance, évolutivité et efficacitéNginx vs Apache: performance, évolutivité et efficacitéApr 19, 2025 am 12:05 AM

Nginx et Apache sont tous deux des serveurs Web puissants, chacun avec des avantages et des inconvénients uniques en termes de performances, d'évolutivité et d'efficacité. 1) Nginx fonctionne bien lors de la gestion du contenu statique et de la proxyation inverse, adaptée aux scénarios de concurrence élevés. 2) Apache fonctionne mieux lors du traitement du contenu dynamique et convient aux projets qui nécessitent une prise en charge des modules riches. La sélection d'un serveur doit être déterminée en fonction des exigences et des scénarios du projet.

L'épreuve ultime: Nginx vs ApacheL'épreuve ultime: Nginx vs ApacheApr 18, 2025 am 12:02 AM

Nginx convient pour gérer des demandes simultanées élevées, tandis qu'Apache convient aux scénarios où des configurations complexes et des extensions fonctionnelles sont nécessaires. 1.Nginx adopte une architecture non bloquée par des événements et convient aux environnements à haut niveau. 2. Apache adopte le processus ou le modèle de thread pour fournir un écosystème de module riche qui convient aux besoins de configuration complexes.

Nginx en action: exemples et applications du monde réelNginx en action: exemples et applications du monde réelApr 17, 2025 am 12:18 AM

Nginx peut être utilisé pour améliorer les performances, la sécurité et l'évolutivité du site Web. 1) En tant que proxy inversé et équilibreur de charge, Nginx peut optimiser les services back-end et partager le trafic. 2) Grâce à une architecture axée sur les événements et asynchrone, Nginx gère efficacement des connexions simultanées élevées. 3) Les fichiers de configuration permettent une définition flexible des règles, telles que le service de fichiers statique et l'équilibrage de charge. 4) Les suggestions d'optimisation incluent l'activation de la compression GZIP, en utilisant le cache et en réglant le processus de travail.

See all articles

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

Télécharger la version Mac de l'éditeur Atom

Télécharger la version Mac de l'éditeur Atom

L'éditeur open source le plus populaire

MinGW - GNU minimaliste pour Windows

MinGW - GNU minimaliste pour Windows

Ce projet est en cours de migration vers osdn.net/projects/mingw, vous pouvez continuer à nous suivre là-bas. MinGW : un port Windows natif de GNU Compiler Collection (GCC), des bibliothèques d'importation et des fichiers d'en-tête librement distribuables pour la création d'applications Windows natives ; inclut des extensions du runtime MSVC pour prendre en charge la fonctionnalité C99. Tous les logiciels MinGW peuvent fonctionner sur les plates-formes Windows 64 bits.

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Version Mac de WebStorm

Version Mac de WebStorm

Outils de développement JavaScript utiles