Nginx的防盗链设置,避免Nginx静态资源(图片、css样式)被调用

  这里简单地记录Nginx防盗链的配置。之所以要做这个配置是因为有些内容放在内网不能公开到外网上的,用防盗链一定程度的避免被调用。配置文件如下:

server {
        listen       80;
        server_name  112.97.48.237;
        #charset koi8-r;
        #access_log  logs/host.access.log  main;

        location / {
            root   html/ryproject;
            index  index.html index.htm;
            #proxy_pass http://ryproject-proxy/;
            #proxy_redirect off;
            #proxy_set_header Host  $host;
            #proxy_set_header X-Real-IP  $remote_addr;
            #proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            add_header Access-Control-Allow-Origin *;
        }
		
        #图片和css文件 
        location ~* \.(png|css)$ {
            root   html/ryproject/static; #png和css样式文件的地址
            valid_referers   ryproject-web;
            if ($invalid_referer){
                #rewrite ^/
                return 403;
            }		
        }
 
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }

这里我配置了 防盗链的简单配置:

#图片和css文件 
location ~* \.(png|css)$ {
    root   html/ryproject/static; #被访问png和css样式文件的目录
    valid_referers   ryproject-web;
    if ($invalid_referer){
        #rewrite ^/
        return 403;
    }		
}

前端配置的域名是 http://ryproject-web,访问这个网站时,里面也访问了样式(样式所在地址http://112.97.48.237/html/ryproject/static/**.css)。

这里配置的 valid_referers表示允许请求源为 ryproject-web的域名访问png和css资源(这里的域名前面不要加http://) ,valid_referers相当于一个白名单,如果是其他的访问则 $invalid_referer 条件满足 return 403状态码或者用 rewrite的资源进行替换。

其他,valid_referers 还可以配置其他的参数:

valid_referers none blocked *.nginxcn.com;

none 表示直接在地址栏输入也可以访问到(请求头没有referer。)

blocked表示被防火墙过滤标记的请求。(这个我也没验证,有哪位大佬验证了,可以说下。)

*.nginxcn.com 这种就是域名的形式,当然也可以输入ip。(ip形式请不要用 http,这个我在nginx-1.10.3版本试了,如果带有http,可能没有被识别)。

链接:Nginx防盗链配置

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值