分享、学习、提高
2012/07/16 20:21
文章作者:Enjoy 转载请注明原文链接。
近期公司网站上部分图片启用了CDN,并且加上了防盗链,一切访问正常。但某同事在Firefox下浏览时发现,图片显示不了。
查询后,发现同在CDN上的图片,部分图片访问不了,显示403 Forbidden,但有部分又是可以正常访问的。清缓存,依旧。
再检查,发现是css里调的图片显示不出来,而页面上直接用<img src="">方式调用的图片都可以正常显示。
其它浏览器,IE6~9,Chrome均正常,怀疑是Firefox版本问题,看了两个FF版本,都有此问题。
再检查,发现在Fifefox下此图片的referer是调用它的CSS,而Chrome下此图片的referer是网页地址...

假设首页http://www.itlearner.com/,图片域名是img.9enjoy.com。
首页的css是img.9enjoy.com/hx.css,hx.css中有调用了一张背景图片叫enjoy.jpg (绝对路径是:img.9enjoy.com/img/enjoy.jpg)
此时用户打开首页,这张enjoy.jpg图片在请求时:
FireFox下referer是:http://img.9enjoy.com/hx.css
chrome下referer是:http://www.itlearner.com/

这样,如果img.9enjoy.com开启了防盗链,并且只加了itlearner.com,但没有加上自身域名img.9enjoy.com,则在Firefox下属于盗链,不于显示。。。

问题发现了,通知CDN加上图片域名本身,问题解决。

PS:只有Firefox在请求CSS中的图片是发出的Referer是css文件的URL,其它浏览器(测试过IE,chrome)的Referer都是页面URL。
发表评论
表情
emotemotemotemotemot
打开HTML
打开UBB
打开表情
隐藏
昵称   密码   游客无需密码
网址   电邮   [注册]
               

验证码 不区分大小写