1
cchange 2014-08-13 00:27:12 +08:00
友情帮顶
如果是刚改好 别忘了按Ctrl+F5刷新,可以强制从服务器上重新下载内容 |
2
zzlettle OP 应该不是浏览器的问题,是没有接到到文件,NGINX哪里设置的问题,因为我看到LOG里面对于图片都是访问不到的错误记录。
|
3
niseter 2014-08-13 00:35:11 +08:00 1
我的亲哪。。
location ~.*\.(gif|jpg|png)$ { valid_referers none blocked www.mywebsite.com mywebsite.com ; } 你这样Nginx哪里找源文件啊亲, 你原来location / 下面的(或者你没有用location,直接root [file location]的) 是root [file location]的话,还是要再写一遍 是proxy_pass [url] 的话,也还是要再写一遍 |
4
jackton 2014-08-13 01:02:20 +08:00
来看看,肯定配置文件有问题啦
|
5
faceair 2014-08-13 01:03:30 +08:00 via Android
重启nginx了么
|
6
zzlettle OP @niseter 我刚才修改为这样的,我用的是root
location ~.*\.gif|jpg|png)$ { valid_referers none blocked www.mywebsite.com mywebsite.com ; root /myproject/app: } 这样是能把所有的图片都显示出来了,但没有防盗链。图片依然能在其他的页面被连接显示出来。感觉好像valid_referers就根本没有在判断referer |
8
zzlettle OP 我其实没有修改什么配置,就是添加了3个location ,"/","/static/","media/",然后再加上这个处理图片防盗链的,排列顺序是先是 /static/ ,/media/ ,防盗链的,"/"
我也试过,直接在图片目录下面用valid_referers none blocked www.mywebsite.com mywebsite.com ;,但根本没有变化,我感觉这句防盗链的命令没有做出访问的判断。我用的是最新的版本1.7.4nginx |
9
aru 2014-08-13 10:05:54 +08:00
还缺了配置
if ($invalid_referer) { return 403; } |
10
niseter 2014-08-13 10:35:15 +08:00
|
11
ryd994 2014-08-13 16:25:21 +08:00
root 应该写在server段里啊,没有特殊需要的话
|
12
zzlettle OP @ryd994 正解。我找到问题了,就是应该把root写在 最开始server里面,希望跟我一样的人,有同样的问题的时候能看到这贴吧。
|
13
anyforever 2014-08-14 12:44:58 +08:00 1
不知道你怎么写的配置。请参考: http://ipple.net/lanmp/nginx-set-image-blocked.html
|
14
zzlettle OP @anyforever 谢谢,我已经知道原因了。因为我在配置的server最开始里面没有写root,我只在防盗链的那个{}写了规则,所以出问题了,应该在server最开始就应该写清楚这个域名的root,这样后面写防盗链的规则就不会出问题了。
|
15
ryd994 2014-08-17 01:48:12 +08:00
@zzlettle 你应该再多看点英文的官方文档,比如: http://wiki.nginx.org/Pitfalls
|