Nginx防盗链
1)修改vhost/blog.moonsbird.com.conf
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|mp4|ico)$ { valid_referers none blocked *.moonsbird.com moonsbird.com; if ($invalid_referer) { #rewrite ^/ http://blog.moonsbird.com; return 403; } expires 30d; access_log off; }
2)真正意义上的防盗链
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|mp4|ico)$ { valid_referers *.moonsbird.com moonsbird.com; if ($invalid_referer) { #rewrite ^/ http://blog.moonsbird.com; return 403; } expires 30d; access_log off; }
3)两者的区在于有没有 none blocked
第一种方法有,在浏览器上输入图片地址可访问
第二种方法没有, 在浏览器上不可访问
- valid_referers语法:valid_referers [none|blocked|server_names] …
默认值:no
使用字段:server, location
这个指令在referer头的基础上为 $invalid_referer 变量赋值,其值为0或1。
可以使用这个指令来实现防盗链功能,如果valid_referers列表中没有Referer头的值, $invalid_referer将被设置为1(参照前例)。
参数可以使如下形式:- none意为不存在的Referer头
- blocked意为根据防火墙伪装Referer头,如:“Referer: XXXXXXX”。
- server_names为一个或多个服务器的列表,0.5.33版本以后可以在名称中使用“*”通配符。
变量$invalid_referer不是nginx的系统变量,是http协议中的
分类:
云服务器
标签:
MoonsbirdBlog
, Nginx
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)