Nginx 配置 Referer 防盗链
· 技术积累 · Nginx

Nginx配置Referer规则,来禁止其他网站链接本站的资源,例如图片、视频等

匹配任意路径下以(jpg|png)结尾的

# 默认的参数 
# valid_referers none blocked me.jinchuang.org
- none 表示允许空的 Referer
- blocked 表示允许直接访问资源(比如直接在浏览器地址栏输入 URL)
- me.jinchuang.org 表示允许来自该域名的 Referer

# nginx配置文件 
server {
······

# 我这里只允许指定的域名可以访问,禁止空和直接访问,这里后缀可以是mp3、mp4、zip等等,*.jinchuang.org表示匹配任意的子域名
location ~* \.(jpg|png)$ { {
    # 不用写http:// https:// 
    valid_referers jinchuang.org *.jinchuang.org;
    if ($invalid_referer) {
        return 403;
    }
    # 其他规则
}

······
}

不加referer请求结果

Nginx 配置 Referer 防盗链

加了referer请求结果,也就是直接请求 (我网站403会跳转指定页面,所以这里是302状态,不加跳转也就是nginx配置的403状态)

Nginx 配置 Referer 防盗链

错误referer请求结果

Nginx 配置 Referer 防盗链

正确referer请求结果

Nginx 配置 Referer 防盗链

对指定目录下的文件设置referer请求规则

# 我这里设置为博客上传的图片默认目录,只对博客文章图片进行限制,其他不限制
location ~* ^/usr/uploads/.*\.(jpg|png|gif)$ {
    # 不用写 http:// https:// 
    valid_referers *.jinchuang.org jinchuang.org;
    if ($invalid_referer) {
        return 403;
    }
    # 其他规则
}

本文最后更新时间 2023-11-17
文章链接地址:
https://wojc.cn/archives/1467.html
本站文章除注明[转载|引用],均为本站原创内容,转载前请注明出处
MAXMIND 免费的GeoLite2数据库分享
不允许空 Referer访问,可以使用反向代理解决
在Nginx中配置使用Geoip2模块
Filebeat Logstash elasticsearch Kibana 日志收集展示分析

Google Gemini对话式AI工具

NextTrace 一款轻量化开源可视路由跟踪工具

我要留言