Maison  >  Article  >  Opération et maintenance  >  Comment Nginx implémente la configuration du contrôle d'accès basée sur l'adresse IP

Comment Nginx implémente la configuration du contrôle d'accès basée sur l'adresse IP

PHPz
PHPzoriginal
2023-11-08 16:28:501581parcourir

Comment Nginx implémente la configuration du contrôle daccès basée sur ladresse IP

La façon dont Nginx implémente la configuration du contrôle d'accès basée sur l'adresse IP nécessite des exemples de code spécifiques

Nginx est un logiciel de serveur Web hautes performances actuellement largement utilisé. En plus d'être utilisé comme serveur Web, il peut également être utilisé comme serveur Web. Serveurs proxy inverse, équilibreurs de charge, etc. Dans les applications de serveur Web, la sécurité est une considération très importante. Nginx propose diverses façons de mettre en œuvre une configuration de contrôle d'accès basée sur l'adresse IP, ce qui peut aider les administrateurs à contrôler efficacement l'accès aux ressources du site Web.

1. Variables d'adresse IP dans la configuration Nginx

Dans le fichier de configuration Nginx, certaines variables sont utilisées pour représenter l'adresse IP du client. La plus couramment utilisée est la variable $remote_addr, qui représente l'adresse IP du client.

2. Configuration simple du filtrage des adresses IP

  1. Autoriser l'accès à des adresses IP spécifiques

    location / {
      allow 192.168.1.100;
      deny all;
    }

    La configuration ci-dessus signifie que seuls les clients avec l'adresse IP 192.168.1.100 sont autorisés à accéder au bloc d'emplacement, les clients avec d'autres adresses IP le seront. rejeté. Tout refuser signifie refuser l’accès à toutes les autres adresses IP.

  2. Refuser l'accès à des adresses IP spécifiques

    location / {
      deny 192.168.1.200;
      allow all;
    }

    La configuration ci-dessus signifie que le client avec l'adresse IP 192.168.1.200 n'est pas autorisé à accéder au bloc d'emplacement et que les clients avec d'autres adresses IP seront autorisés. Parmi eux, autorisez tous les moyens permettant l’accès depuis toutes les autres adresses IP.

3. Configuration de filtrage d'adresses IP multiples

  1. Autoriser plusieurs adresses IP spécifiques à accéder

    location / {
      allow 192.168.1.100;
      allow 192.168.1.200;
      deny all;
    }

    La configuration ci-dessus signifie que seuls les clients avec les adresses IP 192.168.1.100 et 192.168.1.200 sont autorisés à accéder au bloc d'emplacement, les autres clients avec des adresses IP seront rejetés. Tout refuser signifie refuser l’accès à toutes les autres adresses IP.

  2. Refuser l'accès à plusieurs adresses IP spécifiques

    location / {
      deny 192.168.1.100;
      deny 192.168.1.200;
      allow all;
    }

    La configuration ci-dessus signifie que les clients avec les adresses IP 192.168.1.100 et 192.168.1.200 ne sont pas autorisés à accéder au bloc d'emplacement, et les clients avec d'autres adresses IP seront autorisés. Parmi eux, autorisez tous les moyens permettant l’accès depuis toutes les autres adresses IP.

4. Configuration du filtrage à l'aide de segments d'adresse IP

Nginx prend également en charge l'utilisation de segments d'adresse IP pour la configuration du contrôle d'accès :

geo $whitelist {
  default         0;
  192.168.1.0/24  1;
}

location / {
  if ($whitelist) {
      allow all;
  }
  deny all;
}

Dans la configuration ci-dessus, la directive geo définit un fichier nommé $ The. La variable de liste blanche est définie sur 1 ou 0 selon que l'adresse IP du client se trouve dans le segment de réseau 192.168.1.0/24. Utilisez ensuite l'instruction if pour déterminer si l'accès au bloc d'emplacement est autorisé. Si la valeur de $whitelist est 1, tous les accès clients sont autorisés ; sinon, tous les accès sont refusés.

En résumé, Nginx propose plusieurs façons de mettre en œuvre une configuration de contrôle d'accès basée sur l'adresse IP. En définissant correctement le fichier de configuration Nginx, les administrateurs peuvent contrôler de manière flexible l'accès aux ressources du site Web en fonction des besoins réels et améliorer la sécurité du site Web.

Référence : https://docs.nginx.com/nginx/admin-guide/security-controls/controlling-access-by-client-ip/

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