本篇文章为你整理了Nginx 防盗链(nginx防盗链)的详细内容,包含有nginx防盗链原理 nginx防盗链 nginx 防盗链 2021 nginx 防盗链 错误码 Nginx 防盗链,希望能帮助你了解 Nginx 防盗链。
防盗链其实就是 防止别的站点来引用你的 资源, 占用你的流量
在了解nginx 防盗链之前 我们先了解一下 什么是 HTTP 的头信息 Referer,当浏览器访问网站的时候,一般会带上Referer,告诉后端该是从哪个页面过来的
nginx的 防盗链功能基于 HTTP协议的Referer机制,通过判断Referer对来源进行 识别和判断 做出一定的处理
nginx会通就过查看referer自动和valid_referers后面的内容进行匹配,如果匹配到了就将invalid_referer 变量置位1 , 如果没有匹配到 , 则 将 invalid_referer变量置0 , 匹配的过程中不区分大小写.
如果你的图片没有做防盗链的控制 , 像如下配置一样, 那么其他人就可以直接使用你的文件图片等等
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
可以看到在其他机器上如 www.testbackend.com 直接引入 www.testfront.com的资源文件 , 也是可以展示的
配置nginx防盗链
如果配置了valid_referers
nginx会通就过查看referer自动和valid_referers后面的内容进行匹配,如果匹配到了就将invalid_referer 变量置位1 , 如果没有匹配到 , 则 将 invalid_referer变量置0 , 匹配的过程中不区分大小写.
location ~* .(gifjpgpng) {
# 配置校验 referer , 意思就是如果referer 是172.16.225.111 或者 www.testfront.com 都通过
valid_referers 172.16.225.111 www.testfront.com;
if ($invalid_referer) {
return 403;
root /www/static;
此时再访问 www.testbackend.com 去引用 www.testfront.com 的资源 就不能访问了
3. 防盗链的 具体配置
从上面可以看出, 通过配置 valid_referers 后面添加校验的域名和ip , nginx 会自动进行 http的 referer 的匹配
防盗链除了可以配置 ip 域名外, 还能配置 如 none 和 blocked
blocked:在Header中的Referer不为空,但是该值被防火墙或代理进行伪装过,如不带"http://" 、"https://"等协议头的资源允许访问。
server_names:指定具体的域名或者IP
可以支持正则表达式和*的字符串。如果是正则表达式,需要以~开头表示
以上就是Nginx 防盗链(nginx防盗链)的详细内容,想要了解更多 Nginx 防盗链的内容,请持续关注盛行IT软件开发工作室。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。