Nginx的Rewrite规则编写

昨天为单位的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配置是否正确

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏魏艾斯博客www.vpsss.net

军哥 LNMP 1.5 测试版发布

34030
来自专栏程序猿DD

如何使用 Spinnaker 和 Kubernetes 进行数据库变更发布?

将应用程序部署到 Kubernetes 时,有很多选择。像 Helm 和 Ksonnet 这样的工具使得打包应用程序并将其部署到多个 Kubernetes 环境...

40750
来自专栏测试驿栈

容器化的Apache服务并监控

sudo docker run -d --name ubuntu -p 80:80 ubuntu:16.04

15640
来自专栏智能合约

Phalcon入门教程之目录结构

15430
来自专栏一只程序汪的自我修养

手把手教你用Jenkins自动发布Docker

首先,我们要有个Jenkins咯,下载链接:https://jenkins.io/download/

56560
来自专栏日常工作总结

Kubernetes中Consul重启自动加入集群实践

近期频繁的容器母机调整导致我们的业务需要多次重启,不得不寻找一种自动重建Consul集群的方式。在网上搜索和学习一番后发现,基本没有针对Kubernetes容器...

37730
来自专栏Rainbond开源「容器云平台」

Docker 网络构造:Docker如何使用Linux iptables和Interfaces

30420
来自专栏程序员的碎碎念

docker搭建静态网站

上面这种方法繁琐且慢,不推荐大家用怎样的方式安装docker。建议使用官网上的安装步骤:https://docs.docker.com/install/linu...

18320
来自专栏散尽浮华

Mesos+Zookeeper+Marathon的Docker管理平台部署记录(2)--负载均衡marathon-lb

之前介绍了Mesos+Zookeeper+Marathon的Docker管理平台部署记录(1)的操作,多余的废话不说了,下面接着说下在该集群环境下的负载均衡ma...

49390
来自专栏nummy

pip使用国内镜像

1.1K20

扫码关注云+社区

领取腾讯云代金券