nginx配置防盗链rewrite跳转到一张图片但死循环的问题
以下是nginx配置的代码:
location ~ .*\.(jpg|png|gif|jpeg|swf|flv|rar|zip)$ {
valid_referers none blocked my.weibo.com;
# 该指令会根据Referer Header头的内容分配一个值为0或1给变量$invalid_referer。如果Referer Header头不符合valid_referers指令设置的有效Referer,变量$invalid_referer将被设置为1.
# none:表示无Referer值的情况;
# blocked:代表有referer但是被防火墙或者是代理给去除了;
# server_names:表示一个或多个主机名称;
if ($invalid_referer) {
#return 403;
rewrite ^/ http://my.weibo.com/no.png;
}
}
当外部网址进行访问的时候,让其展示至目录下的no.png图片,于是出现死循环
主要问题的根本是在显示的no.png的时候,referer还是源站点的网址,所以导致显示no.png的时候他也进入了那个条件中。
想问下这种情况可以解决么?还是我配置少写了点什么?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
死循环了,所以要用
location = /no.png
来优先匹配