LNMP - nginx禁止指定user_agent

user_agent用来识别访问者的操作系统(包括版本号)浏览器(包括版本号)和用户个人偏好的代码
比如我们的服务器网站,会被一些搜索引擎的爬虫程序访问,这对服务器压力造成了一定的影响。我们就可以根据爬虫的user_agent标示,来禁止掉它访问网站。

1、修改配置文件

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

server
{
    listen 80;
    server_name www.test.com www.aaa.com;
    if ($host != ‘www.test.com‘)
    {
     rewrite ^/(.*)$ http://www.test.com/$1 permanent;
    }
    index index.html index.htm index.php;
    root /data/www;
    access_log /tmp/access.log combined_realip;

#deny 127.0.0.1;
    #deny 192.168.0.0/24;

if ($http_user_agent ~* ‘curl|baidu|111111‘)
    {
     return 403;
    }
    location ~ .*admin\.php$ {
        #auth_basic "caimz auth";
     #auth_basic_user_file /usr/local/nginx/conf/.htpasswd;
     allow 127.0.0.1;
     deny all;
        include fastcgi_params;
        fastcgi_pass unix:/tmp/php-fcgi1.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME /data/www$fastcgi_script_name;
    }
    location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|rar|zip|gz|bz2)$
    {
     access_log off;
     expires 15d;
     valid_referers none blocked *.test.com *.aaa.com *.aminglinux.com;
     if ($invalid_referer)
     {
          return 403;
     }
    }
    location ~ \.(js|css)
    {
     access_log off;
     expires 2h;    
    }
    location ~ (static|cache)
    {
     access_log off;
    }
    location ~ \.php$ {
        include fastcgi_params;
        fastcgi_pass unix:/tmp/php-fcgi1.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME /data/www$fastcgi_script_name;
    }
}

下面是不区分大小写匹配,上面是区分大小写匹配。

2、检测配置文件和重新加载配置文件

[[email protected] ~]# /usr/local/nginx/sbin/nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful

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

3、测试

添加不区分大小写匹配的

~*

检查配置文件和重新加载配置文件继续访问

都禁止了。

时间: 2024-10-18 13:46:39

LNMP - nginx禁止指定user_agent的相关文章

nginx禁止指定user_agent

匹配curl,baidu,111111的,全部拒绝!   ~*  ---不匹配大小写

Apache禁止解析php 禁止指定user_agent Apache通过rewrite限制某个目录

<Directory /data/www/data> php_admin_flag engine off <filesmatch "(.*)php"> Order deny,allow Deny from all </filesmatch> </Directory> 禁止指定user_agent <IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{HTTP_USER_

apache‘禁止指定user_agent’ 和 ‘禁止用户通过浏览器访问某个目录’

禁止指定user_agent 本节介绍如何通过rewrite实现限制指定 user_agent 的请求: 即禁掉不想让那些引擎访问的请求 编辑虚拟主机配置文件 [[email protected] ~]# vim /usr/local/apache2/conf/extra/httpd-vhosts.conf (找到"域名301跳转的配置"即"rewrite的mod配置"内写入) RewriteCond %{HTTP_USER_AGENT} ^.*curl.* [NC

apache限制某个目录禁止解析php、apache禁止指定user_agent、php相关配置

一:apache限制某个目录禁止解析php 某个目录下禁止解析 php,这个很有用,我们做网站安全的时候,这个用的很多,比如某些目录可以上传文件,为了避免上传的文件有×××,所以我们禁止这个目录下面的访问解析php. <Directory /data/www/data> php_admin_flag engine off <filesmatch "(.*)php"> Order deny,allow Deny from all </filesmatch&g

Apache禁止指定user_agent

user_agent我们把它叫做浏览器标识,目前主流的浏览器有IE.chrome.Firefox.360.iphone上的Safari.Android手机上的.百度搜索引擎.Google搜索引擎等很多,每一种浏览器都有对应的user_agent. 配置如下: <IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{HTTP_USER_AGENT} ^.*Firefox/4.0.* [NC,OR] RewriteCond %{HTTP_US

LAMP--Apache 禁止指定 user_agent

user_agent 可以当作浏览器标识,目前主流的浏览器有 IE.chrome.Firefox.360.iPhone上的 Safari.Android 手机上的百度搜索引擎.google搜索引擎等很多,每一种浏览器都有对应的 user_agent,下面列出几个常见的 user_agent. Mozilla/4.0(compatible; MSIE 6.0; Windows NT 5.1; Trident/4.0; .NET4.0C; .NET4.0E; SE 2.x) Mozilla/5.0(

Nginx配置——禁止指定user_agent

用途 你的网站访问量很大,而且服务器资源比较紧缺,因为我们的成本要稍微控制地严谨一点,所以呢,服务器稍微有点吃力,那么,网站呢它都会被搜索引擎的蜘蛛去爬取,它们去爬取的时候呢,跟咱们真人访问的行为是一样的,同样也会访问我们的数据库,同样也会耗费php资源,所以这个时候,有必须把一些不太重要的搜索引擎.蜘蛛爬虫给它禁掉. ## 编辑配置文件 [[email protected] ~]# vim /usr/local/nginx/conf/vhosts/test.conf if ($http_use

2.4-nginx禁止指定user_agent

user_agent用来识别访问者的操作系统(包括版本号)浏览器(包括版本号)和用户个人偏好的代码 比如我们的服务器网站,会被一些搜索引擎的爬虫程序访问,这对服务器压力造成了一定的影响.我们就可以根据爬虫的user_agent标示,来禁止掉它访问网站. 可以用location语句,也可以不用.在全局插入以下代码. #全局配置黑名单,禁止访问网站 #   deny 127.0.0.1; #   deny 192.168.1.0/24; if ($http_user_agent ~* 'curl|b

LAMP - Apache禁止指定user_agent

网站有时候会有一些非法的访问或者无意义的访问,比如垃圾的蜘蛛(360 spider, sogou spider等),当网站访问量很大时,蜘蛛的访问会增加服务器的负担,损失性能.对于没有必要的搜索引擎,可以禁掉:而对于百度,谷歌等可以保留 禁止搜索引擎的方法:通过rewrite模块实现,比如禁止sogou spider对网站进行访问,添加以下红色字段 <IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{HTTP_HOST} ^www.a