Nginx防盗链访问控制 解析php相关配置及Nginx代理

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Nginx防盗链访问控制 解析php相关配置及Nginx代理相关的知识,希望对你有一定的参考价值。

一、nginx的防盗链
在配置文件里面增加以下代码:(/usr/local/nginx/conf/vhost/test.com.conf)

location ~* ^.+.(gif|jpg|png|swf|flv|rar|zip|doc|pdf|gz|bz2|jpeg|bmp|xls)$    
{
    expires 7d;
    valid_referers none blocked server_names  *.test.com ;
    if ($invalid_referer) {
        return 403;
    }
    access_log off;
}

~ 正则,不区分大小写
^ 以什么什么开关
expires 7d 过期时间是七天
valid_referers none blocked server_names
.test.com ;
定义白名单域名
return 403; 如果不是白名单,就会返回403代码
技术分享图片

测试referer : curl -e "www.baidu.com" -x127.0.0.1:80 test.com -I
如果是白名单的返回200,不是的话返回403

二、Nginx的访问控制

1、 需求:访问/admin/目录的请求,只允许某几个IP访问,配置如下:(/usr/local/nginx/conf/vhost/test.com.conf)
针对面目录的:

 location /admin/
{
    allow 192.168.133.1;
    allow 127.0.0.1;
    deny all;
}

localtion 定义哪个目录

技术分享图片
测试:
创建文件目录:mkdir /data/wwwroot/admin
echo “test,test”>/data/wwwroot/test.com/admin/1.html
-t && -s reload

curl -x127.0.0.1:80 test.com -I 提示200 正常访问
拿随更一个IP主机访问,提示403.

2、匹配正则,增加以下内容:
把能上传的目录禁止解析php


location ~ .*(upload|image)/.*.php$
{
        deny all;
}

禁止解析 upload|image 目录以php结尾的文件
技术分享图片

测试:
mkdir data/wwwroot/test.com/upload/1.php
echo “132323” > /data/wwwroot/test.com/upload/1.php
curl -x127.0.0.1:80 test.com/upload/1.php 提示403
取消规则 ,正常访问200

3、根根usr_agent 限制(想做一个隐藏的网站,不让百度、bing等引擎的爬虫爬到数据)
if ($http_user_agent ~ ‘Spider/3.0|YoudaoBot|Tomato‘)
{
return 403;
}
deny all和return 403效果一样

以上是关于Nginx防盗链访问控制 解析php相关配置及Nginx代理的主要内容,如果未能解决你的问题,请参考以下文章

Nginx防盗链 Nginx访问控制 Nginx解析php相关配置 Nginx代理

nginx防盗链,访问控制,解析php相关配置,nginx代理

Nginx防盗链访问控制解析php相关配置Nginx代理

Nginx防盗链Nginx访问控制Nginx解析php相关配置Nginx代理

Nginx防盗链 Nginx访问控制 Nginx解析php相关配置 Nginx代理

Nginx防盗链Nginx访问控制Nginx解析php相关配置Nginx代理