Maison >Opération et maintenance >Nginx >Comment intercepter un agent utilisateur spécifique dans Nginx
Liste noire des agents utilisateurs spécifiques dans nginx
Pour configurer la liste de blocage des agents utilisateurs, ouvrez le fichier de configuration nginx de votre site Web et recherchez la section des définitions de serveur. Ce fichier peut être placé à différents endroits, en fonction de votre configuration nginx ou de votre version Linux (par exemple, /etc/nginx/nginx.conf, /etc/nginx/sites-enabled/
Copiez le code Le code est le suivant :
serveur {
listening 80 default_server;
server_name xmodulo.com;
root /usr/share/nginx/html;
....
}
Ouvrez le fichier de configuration et recherchez la section serveur, ajoutez l'instruction if suivante quelque part dans la section.
Copiez le code Le code est le suivant :
serveur {
écoute 80 default_server;
server_name xmodulo.com; Correspondance sensible
if ($http_user_agent ~ (antivirx|arian ) {
return 403 ;
retourner 403 ;
}
... .
$ sudo /path/to/nginx -s reload
Jusqu'à présent, j'ai montré comment bloquer certains agents utilisateurs pour les requêtes http dans nginx Que faire si vous souhaitez bloquer les robots d'exploration du Web
Depuis la liste noire des agents utilisateurs ? deviendra très volumineux, ce n'est pas une bonne idée de les placer dans la partie serveur de nginx. Au lieu de cela, vous pouvez en créer un fichier séparé dans lequel tous les agents utilisateurs bloqués sont répertoriés. Par exemple, créons /etc/nginx/useragent. .rules et définissez un graphique qui définit tous les agents utilisateurs bloqués au format suivant
$ wget --user-agent "malicious bot" http://<nginx-ip-address>
Copiez le code comme suit :
map $http_user_agent $badagent { default 0;
~*malicious 1; porte dérobée 1;~ *netcrawler Semblable à la configuration précédente, « ~* » correspondra aux mots-clés sans tenir compte de la casse, tandis que « ~ » correspondra aux mots-clés à l'aide d'une expression régulière sensible à la casse. La ligne "0 par défaut" signifie que tous les agents utilisateurs non répertoriés dans d'autres fichiers seront autorisés.
Ensuite, ouvrez le fichier de configuration nginx de votre site Web, recherchez la section contenant http, puis ajoutez la ligne suivante quelque part dans la section http.如 Copiez le code comme suit :
http {
..... include /etc/nginx/useraurs.rules
}
Notez que l'instruction include doit apparaître devant le serveur (c'est pourquoi nous l'ajoutons pour l'ajouter pour l'ajouter pour l'ajouter pour l'ajouter à la partie http).
Maintenant, ouvrez la section de la configuration nginx qui définit votre serveur et ajoutez l'instruction if suivante :
Copiez le code Le code est le suivant :
serveur {
.... if ($badagent) {
. ...
}
Enfin, rechargez nginx.
$ sudo /path/to/nginx -s reloadDésormais, tout agent utilisateur contenant des mots-clés répertoriés dans /etc/nginx/useragent.rules sera automatiquement banni par 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!