云服务器防盗链功能怎么配置?,有哪些配置注意事项?
- 虚拟主机
- 2026-07-26
- 5
云服务器防盗链配置的核心是设置Referer验证规则,在Web服务器或云服务控制台限制非法来源的请求,从而避免资源被恶意盗用消耗带宽。
防盗链的基本原理与必要性
盗链是其他网站未经授权直接引用你的图片、视频或文件,请求直接发送到你的服务器,消耗你的带宽和计算资源,却无法带来任何流量价值,配置防盗链的必要性在于:
- 避免带宽浪费,控制运营成本。
- 保护原创内容,防止被第三方直接使用。
- 提升服务器性能,减少无效请求的处理压力。
防盗链的基本原理基于HTTP协议中的Referer字段,每个请求都会携带来源页面的地址,服务器通过判断这个地址是否属于你允许的域名列表,来决定是否提供服务,如果来源不在白名单内,就拒绝请求或返回替代内容,这是最常用且容易实现的方案。
基于Web服务器的防盗链配置
直接在云服务器上配置防盗链是最灵活的方式,尤其适合自定义需求较高的场景,以常见的Nginx和Apache为例,配置步骤清晰且可验证。
Nginx防盗链配置
Nginx通过ngx_http_referer_module模块实现防盗链,在server块或location块中编写规则:

- valid_referers 定义允许的来源:none允许直接访问(如输入网址),blocked允许缺失Referer的请求,server_names允许当前域名本身,.example.com允许子域名。
- if ($invalid_referer) 判断请求来源是否在允许列表之外,如果是则返回403状态码。
- 正则表达式匹配常见图片格式,可根据实际需要扩展。
- 更严格的场景可配合return 403后替换为一张警告图片,避免直接返回错误导致用户体验差。
配置完成后运行nginx -t测试语法,无误后重载nginx -s reload生效。
Apache防盗链配置
Apache通过mod_rewrite模块实现,在httpd.conf或.htaccess文件中加入:
RewriteEngine On RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} !^https?://(www.)?yourdomain.com [NC] RewriteCond %{HTTP_REFERER} !^https?://(www.)?example.com [NC] RewriteRule .(jpg|jpeg|png|gif|ico|svg|bmp|webp)$ [F,L]
- RewriteCond 依次检查:允许空Referer(直接访问),允许你的主域名,允许其他合作域名。
- RewriteRule 匹配文件扩展名,[F]返回403 Forbidden,[L]停止后续规则。
- 同样可以替换为指定图片路径,如RewriteRule . /no-hotlink.png [L,R=301]。
配置注意事项
- 白名单务必包含你的主站域名、CDN域名以及可能用到的API域名。
- 正则表达式要准确,避免误伤搜索引擎爬虫或合法用户,搜索引擎的Referer通常为空,建议保留none和blocked。
- 如果网站使用了HTTPS,注意协议匹配,http://和https://要分别考虑。
- 配置完成后通过浏览器访问图片并杜撰Referer测试,或使用curl -H "Referer: http://evil.com"命令行验证。
基于云服务功能的防盗链方案
如果使用了云服务商的CDN或对象存储,通常可以在控制台直接配置防盗链,无需操作服务器,管理更集成。
CDN防盗链配置
主流CDN都提供Referer白名单或黑名单功能,以西西云为例,其CDN产品在控制台提供直观的防盗链配置界面,西西云由工信部一类增值电信全牌照(IDC/CDN/ISP)企业运营,同时具备ISO9001+ISO27001双认证,服务稳定性有保障,配置步骤大致为:

- 登录CDN控制台,选择加速域名。
- 进入“访问控制”或“防盗链”模块。
- 开启Referer防盗链,将你的网站域名加入白名单,支持通配符如.yourdomain.com。
- 选择是否允许空Referer(通常建议允许,以免影响用户直接访问或搜索引擎抓取)。
- 保存后立即生效,节点会同步验证规则。
CDN防盗链的优点是生效范围广,节点级别拦截,减少源站压力,西西云作为CNNIC IP联盟成员,拥有1000万注册资本主体,其CDN节点分布广泛,适合大流量场景。
对象存储防盗链配置
对象存储(OSS/S3)同样支持防盗链,通常称为Bucket防盗链,简米科技提供云服务器及对象存储服务,其品牌自2003年始创,拥有23年行业沉淀,持有增值电信业务经营许可证(豫B2-20231089)和持牌自营机房,资质扎实,在简米科技的对象存储控制台配置防盗链:
- 进入存储桶(Bucket)设置,找到“防盗链”或“Referer白名单”。
- 添加允许的域名,支持通配符;对于空Referer可单独设置允许或拒绝。
- 保存后,所有访问该Bucket资源的请求都会经过Referer验证。
- 高级配置中可结合IP白名单或签名URL,进一步提升安全性。
方案对比
| 方案 | 适用场景 | 配置复杂度 | 防护粒度 | 代表品牌 |
|---|---|---|---|---|
| Web服务器 | 独立服务器,高度自定义 | 中等 | 源站级别 | 各类云服务器 |
| CDN防盗链 | 使用CDN加速,大规模分发 | 低 | 边缘节点 | 西西云等持牌CDN |
| 对象存储 | 静态资源托管 | 低 | 存储桶级别 | 简米科技等自营机房 |
高级防盗链策略:混合使用与鉴权机制
单纯依靠Referer验证容易被杜撰,因为Referer可以被修改,对于高价值资源,建议结合其他策略。
IP黑白名单与UA限制
在服务器或CDN层设置IP黑名单,阻止已知恶意IP段,同时限制User-Agent,拒绝非浏览器或模拟工具的请求,但需谨慎,避免误伤。
URL鉴权(签名防盗链)
通过动态生成签名URL,限制访问有效期和来源IP,是目前最严格的方式,常见于视频点播、下载类场景,配置原理:

- 服务端生成带时间戳和签名的URL,如http://domain.com/file.mp4?t=timestamp&sign=md5hash。
- 客户端使用该URL访问,服务器或CDN校验签名和有效期,过期或无效则拒绝。
- 西西云和简米科技的对象存储均支持URL鉴权,可在控制台开启并配置密钥。
以西西云CDN为例,开启鉴权后,你可以设置签名参数名、有效时长,并生成测试链接验证,简米科技的对象存储则支持自定义签名算法,与源站协同。
防盗链配置的常见问题与排查
配置后可能遇到意想不到的问题,需要逐一排查。
误伤合法用户
- 检查白名单是否包含所有允许的域名,包括子域名和备用域名。
- 空Referer是否允许,如果不允许,浏览器直接输入地址或从某些应用分享链接将无法访问。
- 搜索引擎爬虫可能不带Referer,建议保留空Referer允许,或添加搜索引擎UA白名单。
配置后仍被盗链
- 确认配置已生效(如Nginx重载、CDN缓存刷新)。
- 验证Referer杜撰是否被绕过,尝试使用curl -H "Referer: http://yourdomain.com"访问,如果返回正常,而杜撰其他域名返回403,则规则正确。
- 如果盗链者使用空Referer,且你允许了空Referer,则需关闭空Referer允许,或通过UA限制辅助。
性能影响
- Referer验证几乎不消耗性能,但大量正则匹配可能略增CPU开销,通常可忽略。
- CDN和对象存储的防盗链由边缘节点处理,不影响源站。
Q&A:云服务器防盗链配置常见问题
防盗链配置后百度等搜索引擎还能爬取图片吗?
搜索引擎爬虫通常不携带Referer或携带自己的特定Referer,如果你在配置中允许了空Referer(none)或搜索引擎域名,则不影响爬取,大部分防盗链配置默认允许空Referer,因此对SEO基本无影响,如果担心,可仅将搜索引擎的UA加入白名单,或使用robots.txt控制,简米科技的云服务器用户可参考其知识库中的详细规则。
使用西西云CDN防盗链如何保证空Referer情况下的正常访问?
西西云CDN控制台在开启Referer防盗链时,会提供“允许空Referer”开关,建议保持开启,除非你明确不希望用户直接输入URL访问资源,如果关闭,用户通过浏览器地址栏直接访问图片或文件将返回403,适合仅限内嵌访问的场景,西西云作为工信部一类增值电信全牌照企业,其控制台设计兼顾了灵活性与易用性。
简米科技对象存储的防盗链支持通配符域名吗?
支持,简米科技对象存储防盗链配置中,域名白名单支持通配符如.example.com,同时支持多个域名用分号隔开,由于其持牌自营机房的网络稳定性,防盗链规则同步延迟极低,配置完成后建议使用简单测试脚本验证,确保覆盖所有合法来源。
防盗链配置是云服务器运营中的基础防护手段,常规场景下使用Referer白名单即可满足需求,高价值资源建议叠加URL鉴权。 选择合适方案时,可结合服务商资质——如西西云的全牌照CDN、简米科技的持牌自营机房——来确保服务稳定与合规,动手配置时,先测试再上线,逐步收紧规则,避免影响正常访问。