首页 帮助中心 帮助中心 如何为云服务器中的Nginx添加防盗链配置
如何为云服务器中的Nginx添加防盗链配置
时间 : 2025-04-24 11:09:05 编辑 : 华纳云 阅读量 : 105

内容资源被“盗链”是一件令人头痛的事。所谓“盗链”,是指其他网站未经许可,直接引用你的图片、视频等资源,消耗你的带宽资源,降低你服务器的性能。Nginx作为轻量、高效的Web服务器,提供了原生的防盗链支持。通过合理配置,可以有效阻止非法引用,保护你的内容资源。今天我们将逐步讲解如何为云服务器中的Nginx添加防盗链功能。

防盗链的原理是什么?

防盗链的核心是“来源验证”,也就是判断请求资源的Referer请求头。这个头部信息标识了请求是从哪个页面发起的。通过检查 Referer,我们可以知道请求是否来自本站点或授权网站。

举个例子:

来自你的站点www.example.com的请求,Referer是你自己的网站域名。被他人博客或论坛引用的图片请求,其Referer会显示为其他域名。所以,Nginx防盗链配置的本质是通过Referer黑白名单限制访问资源。

常见适用防盗链保护的资源类型包括:

图片文件:.jpg, .png, .gif 等;

视频文件:.mp4, .avi 等;

音频文件:.mp3;

文档:.pdf, .docx 等。

只要是用户可以“右键复制地址”的静态资源,基本都应该加以防护。

Nginx防盗链的基本配置思路

Nginx通过valid_referers指令识别合法来源,然后结合if条件判断来执行相应动作。

下面是基本的配置模板:

location ~* \.(jpg|jpeg|png|gif|mp4|mp3|pdf)$ {
valid_referers none blocked www.example.com example.com;
if ($invalid_referer) {
return 403;
}
}

配置说明:

~* \.(jpg|jpeg|...)$:匹配请求的资源后缀,支持不区分大小写;

valid_referers:

none 表示没有 Referer 的请求(如直接输入链接)也视为合法;

blocked 表示被某些浏览器或工具清空 Referer 的请求;

www.example.com 是允许引用本站资源的主域名;

$invalid_referer 是内置变量,为true时表示非法引用;

return 403; 表示拒绝非法请求,返回HTTP 403禁止访问。

防盗链的兼容性与注意事项

空Referer是否允许?有些浏览器或防盗链插件会自动清除Referer,是否允许取决于你的资源用途。对于嵌入图片,建议设置none为合法来源,但对视频、下载资源,可能要强制Referer。

CDN配合注意:如果你使用了CDN,需注意CDN是否保留了Referer 头。如果CDN清除或篡改该头,Nginx就无法正确判断来源。

常见问题解答:

Q1:为什么有Referer却仍然返回403?

A1:确认Referer格式是否规范,是否带有http:// 或 https://,以及是否拼写正确,大小写敏感问题也可能导致识别失败。

Q2:有必要防盗链所有资源吗?

A2:不建议对 .html 或 .js 等基础页面资源进行防盗链保护,容易误伤。只对重点文件如图片、音视频资源进行控制即可。

Q3:如何测试是否生效?

A3:用curl模拟Referer头进行测试:

curl -e http://www.othersite.com http://www.mysite.com/images/test.jpg -I

如果返回状态码 403,说明配置生效。

防盗链并不是一项“可选项”,而是任何拥有原创内容网站的基本防护措施。借助Nginx原生功能,我们可以轻松实现高效、灵活的防盗链策略,为云服务器节省带宽资源,提升网站运行效率。同时,它也体现了网站对版权与资源的尊重与保护。

当然,防盗链只是第一步,内容防护体系还可以结合访问日志分析、IP 限制、API Token校验等机制进一步加固。但正如那句老话:“最好的防御,永远从基础做起。”而Nginx防盗链,正是基础中不可或缺的一环。

华纳云 推荐文章
如何通过Nginx压缩提升云服务器性能 香港云服务器优质线路推荐指南:选对线路事半功倍 云服务器内网穿透是什么意思?实现内网穿透的常用方案详解 4090云服务器是什么服务器,性能如何? 在Nginx配置中如何实现SSL重定向 SSL证书:Nginx中ssl_certificate和ssl_certificate_key的区别 Nginx SSL配置中如何处理301/302重定向? Nginx SSL如何处理HTTPS请求的负载均衡? 在CDN节点部署中CDN和云服务器两者是什么关系 SSL证书和Nginx的兼容性问题有哪些
活动
客服咨询
7*24小时技术支持
技术支持
渠道支持