Exigences : Utilisez nginx pour bloquer certaines adresses IP d’accès aux sites web, comme les robots d’indexation, les publicités, etc. Ou pour des raisons politiques, il faut bloquer l’accès depuis une adresse IP dans un certain pays.
Accès IP spécifié par blocs
Nginx fournit deux des commandes les plus basiques pour le masquage et la possibilité d’autoriser les IP : refuser de bloquer et autoriser d’autoriser, comme suit :
Spécifier un répertoire pour bloquer l’accès depuis des IP spécifiées
Dans le fichier de configuration de Nginx, vous pouvez utiliser des blocs de localisation pour correspondre à des chemins d’URL spécifiques. Par exemple, nous voulons permettre le masquage dans les chemins d’URL qui commencent par /foo, en correspondant à tous les chemins d’URL commençant par /foo, comme /foo/bar et /foo/baz/qux, etc., comme suit :
Si tu veuxCorrespondance exacte /foopour utiliser la configuration suivante :
Vous pouvez aussi associer le répertoire avec des régex :
Bloquez l’accès au pays (région) spécifié.
Parfois, nous voulons n’autoriser que certaines régions à accéder à notre site web. Connaissant les deux méthodes ci-dessus, le problème restant est de savoir comment obtenir tous les segments IP dans une région donnée. On peut l’obtenir via ip2location. Adresse:La connexion hyperlientérée est visible.
Sélectionnez le pays à gauche de la boîte, sélectionnez V4 ou V6 dans la case du milieu, puis sélectionnez le type de règle à droite. Prenons le Japon comme exemple :
Téléchargez et décompressez pour obtenir le fichier txt,Supprimez le premier emplacement / { et le dernier },Enfin, ajoutez une ligne pour tout ;Changez le nom du suffixe de .txt à .conf et téléchargez-le sur le serveur, en vous souvenant du répertoire où il a été placé. (par exemple /usr/local/nginx/conf/nginx.conf/firewall.conf)
Modifiez le fichier de configuration Nginx correspondant au site, comme le répertoire /foo, pour n’autoriser l’accès que depuis des IP non japonaises :
Si vous voulez que ce soit à l’échelle du site, vous pouvez écrire sur le serveur ou le champ http, par exemple :
Entrez ensuite la commande suivante pour recharger la configuration nginx :
|