任何时候你都可以开始做自己想做的事

搜索|
nginx 过滤 特定请求头的方法
发布时间:2025-02-06 02:13:00

在nginx.conf全局配置文件配置:

#根据user-agent的特定信息屏蔽,这里可添加特定的user-agent

map $http_user_agent $bad_bot {
        default 0;
        "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36)" 1;
"compatible; MSIE 7.0" 1;
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36" 1;
"Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; Amazonbot/0.1; +https://developer.amazon.com/support/amazonbot) Chrome/119.0.6045.214 Safari/537.36" 1;

		}

然后
在站点server块配置:

if ($bad_bot) {
return 444; # 使用444响应码可以让Nginx关闭连接而不发送任何响应
}

并且日志中:
access_log ./wwwlogs/$http_host.access.$logdate.log main if=$combined_log_filter;