首页 > 代码库 > Nginx配置——禁止指定user_agent

Nginx配置——禁止指定user_agent

用途

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

## 编辑配置文件

[root@wy ~]# vim /usr/local/nginx/conf/vhosts/test.conf

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

       return 403;

}

解释说明:

http_user_agent 浏览器标识;

~* 忽略大小写匹配

~ 区分大小写匹配

技术分享

## 检查并重新加载

[root@wy ~]# /usr/local/nginx/sbin/nginx -t

[root@wy ~]# /usr/local/nginx/sbin/nginx -s reload

## 测试

[root@wy ~]# curl -x127.0.0.1:80 www.test.com/forum.php -I          

HTTP/1.1 403 Forbidden

解释说明:

curl这个标识是被拒绝的

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

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

HTTP/1.1 200 OK

解释说明:

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

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

HTTP/1.1 403 Forbidden

解释说明:

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

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

HTTP/1.1 403 Forbidden

解释说明:

上面设置了不区分大小写


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

Nginx配置——禁止指定user_agent