Nginx配置——禁止指定user_agent

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Nginx配置——禁止指定user_agent相关的知识,希望对你有一定的参考价值。

用途

你的网站访问量很大,而且服务器资源比较紧缺,因为我们的成本要稍微控制地严谨一点,所以呢,服务器稍微有点吃力,那么,网站呢它都会被搜索引擎的蜘蛛去爬取,它们去爬取的时候呢,跟咱们真人访问的行为是一样的,同样也会访问我们的数据库,同样也会耗费php资源,所以这个时候,有必须把一些不太重要的搜索引擎、蜘蛛爬虫给它禁掉。

## 编辑配置文件

[[email protected] ~]# vim /usr/local/nginx/conf/vhosts/test.conf

if ($http_user_agent ~* ‘curl|baidu|111111‘) {

       return 403;

}

解释说明:

http_user_agent 浏览器标识;

~* 忽略大小写匹配

~ 区分大小写匹配

技术分享

## 检查并重新加载

[[email protected] ~]# /usr/local/nginx/sbin/nginx -t

[[email protected] ~]# /usr/local/nginx/sbin/nginx -s reload

## 测试

[[email protected] ~]# curl -x127.0.0.1:80 www.test.com/forum.php -I          

HTTP/1.1 403 Forbidden

解释说明:

curl这个标识是被拒绝的

## curl -A 模拟浏览器标识进行测试

[[email protected] ~]# curl -A "slfjsf" -x127.0.0.1:80 www.test.com/forum.php -I

HTTP/1.1 200 OK

解释说明:

模拟这个并没有放入被拒绝里

[[email protected] ~]# curl -A "sl111111fjsf" -x127.0.0.1:80 www.test.com/forum.php -I

HTTP/1.1 403 Forbidden

解释说明:

含有了111111,这个是放了被拒绝里

[[email protected] ~]# curl -A "sBAIDUfjsf" -x127.0.0.1:80 www.test.com/forum.php -I    

HTTP/1.1 403 Forbidden

解释说明:

上面设置了不区分大小写


本文出自 “linux” 博客,转载请与作者联系!

以上是关于Nginx配置——禁止指定user_agent的主要内容,如果未能解决你的问题,请参考以下文章

Nginx代理配置只允许指定IP访问

Nginx/Apache下如何禁止指定目录运行PHP脚本

Nginx禁止蜘蛛爬取服务器

nginx限制访问域名,禁止IP访问

nginx站点目录及文件URL访问控制

nginx禁止指定user_agent