昨天为单位的Ngnix服务器配置了一个Rewrite规则,以防止符合特定规则的图片被盗链。同时,还有一个需求就是,从我们的管理站点来的请求应该可以访问这些图片。查了一些资料,最后总结如下:

location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
        valid_referers server_names admin.xxx.com.cn;
        if ($invalid_referer) {
                rewrite "^/folderpath1/([a-z0-9]{2})/([a-z0-9]{2})/([0-9a-z]*)\.([a-z0-9]{3})" /403.html last;
                rewrite "^/folerpath2/([a-z0-9]{2})/([a-z0-9]{2})/([0-9a-z]*)\.([a-z0-9]{3})" /403.html last;
        }

expires      365d;
}

在解决这个问题的过程中,找了一些资料,在解决 valid_referers 这个配置的时候,按照网上的一些文章,总是不能够生效。后来看了官方的资料后,才知道要加上 server_names 这个参数。

由此可见,网上的很多资料都没有经过博主的验证,大家只是简单的转载。希望今后能够有更多的经过验证的,负责任的文章出现网络上,而不是简单的转载。

当然,这里写的这个规则只能是简单的做一些盗链的防范。想要更深入的防止盗链现象的发生,还有很多的工作可以做,这里并没有深入下去。

Technorati 标签: ngnix,linux,rewrite,防盗链

参考资料:
1、Ngnix的Rewrite配置
2、Ngnix防盗链
3、Ngnix Wiki
4、检测Ngnix配置是否正确

Nginx的Rewrite规则编写相关推荐

  1. 第七章:nginx的rewrite规则详解

    模块ngx_http_rewrite_module 该ngx_http_rewrite_module模块用于使用PCRE正则表达式更改请求URI,返回重定向,并有条件地选择配置. 句法: break; ...

  2. nginx配置文件rewrite规则

    nginx配置文件rewrite规则 文章目录 nginx配置文件rewrite规则 @[toc] if Rewite 规则介绍 flag标志位 配置rewrite规则 last二次转发 if 语法: ...

  3. Nginx 之 Rewrite 规则

    最近学习了Nginx,做一些必要的笔记,一来是对自己学习的知识的巩固,二来对有同样问题的人有参考作用 Nginx 之 Rewrite 规则

  4. nginx的rewrite规则

    nginx rewrite相关的指令 break默认none,使用环境server location if 作用:完成当前的规则集,不在处理rewrite指令,eg if($slow){  limit ...

  5. nginx的Rewrite规则详解

    set指令 该指令用来设置一个新的变量. 语法 set $variable value; 默认值 - 位置 server,location,if variable:变量的名称,该变量名称要用" ...

  6. nginx之rewrite规则未加引号导致检查nginx语法报错

    在nginx的站点配置文件中使用了rewrite,检查rewrite规则确定是没问题,但是在rewrite中带有"{}"时,此时检查nginx语法报错 rewrite规则: [ro ...

  7. Nginx基础——Rewrite规则

    Rewrite规则学习记录 rewrite是nginx一个特别重要的指令,该指令可以使用正则表达式改写URI.可以指定一个或多个rewrite指令,按顺序匹配. 正则匹配规则 1~ 区分大小写匹配 2 ...

  8. nginx下rewrite规则中参数超过10 $10 解决方案

    来源:http://jimingsong.iteye.com/blog/1770737

  9. 实例讲解Nginx下的rewrite规则 来源:Linux社区

    一.正则表达式匹配,其中: * ~ 为区分大小写匹配 * ~* 为不区分大小写匹配 * !~和!~*分别为区分大小写不匹配及不区分大小写不匹配 二.文件及目录匹配,其中: * -f和!-f用来判断是否 ...

  10. .net 匹配html图片url_后端程序员不得不会的 Nginx 转发匹配规则

    一.正则表达式匹配 ~ 为区分大小写匹配 ~* 为不区分大小写匹配 !~ 和 !~* 分别为区分大小写不匹配及不区分大小写不匹配 二.文件及目录匹配 -f 和 !-f 用来判断是否存在文件 -d 和 ...

最新文章

  1. 《分布式服务架构:原理、设计与实战》第二章彻底解决分布式系统一致性的问题...
  2. iOS Public Beta 5值得关注的7个变化
  3. FreeRTOS(四)——内存管理
  4. PHP100精华:PHP打印函数集合
  5. sap crm行业解决方案_SAP云平台和第三方CRM解决方案(火锅)互联
  6. 【Pandas】这份Pandas练习题,必须成功拿下~
  7. JavaScript实现广度优先搜索BFS算法(附完整源码)
  8. 微服务Springcloud超详细教程+实战(二)
  9. oracle查询耗资源的进程,常用Oracle进程资源查询语句(运维必看)
  10. JavaScript语法之语句、字面量、变量
  11. stm32增量式编码器使用流程
  12. android 距离传感器 api,Android传感器API之:近距离感应Proximity功能源码
  13. 智能交通 路侧智能感知 应用层数据格式
  14. 仿微信朋友圈,仿微信小视频 ,录制视频功能
  15. 推荐7款国产的在线HTML编辑器
  16. canvas 画线条
  17. 第四章 软件总体设计 1
  18. 分词器——ik——分词算法
  19. jsp实现登录注册(与数据库对接)
  20. 25岁到30岁的女生还可以长高么? 非药物

热门文章

  1. ArcMAP 空间连接和相交工具使用
  2. ENVI-IDL基础学习(1)
  3. 计算机网络综合实践任务书,计算机网络综合实任务书2012-11.doc
  4. 技术不错的我去面试大厂,5分钟,就被秒了!憋屈~
  5. 如何搞一个自制表情包项目,看这个开源项目就够了!
  6. 用c 语言创建web项目,使用Maven创建Web应用程序项目
  7. matlab中怎样提取结构体下的数据库,MATLAB如何提取结构体中数据
  8. linux下tpcc测试mysql_tpcc_mysql性能测试
  9. dingtalk 推送手机号信息 golang_PureQuant使用功能介绍(二):通过配置模块导入API信息...
  10. oracle 删除数据_Oracle海量数据表标准删除方案--分步分阶段大表删除