突然,访问https页面时我的网站上没有显示我的图片。我的代码没有变化。我的主机确实必须在我的请求之后使用SSL支持重新编译他们的ftp服务(所以我可以ftpes我的网站)。不能影响我的SSL证书的任何其他事情。同样的事情发生在FF和IE以及不同的计算机上。
答案 0 :(得分:9)
如果我访问您的网站(https://www.scfootball.org/),我没有看到图片,就像您说的那样:我为每个图片获得403 (Forbidden) error - - 例如,我可以使用Firefox扩展程序Firebug的“网络”标签看到这一点。
如果我尝试直接查看图片,而不是通过网站(例如:https://www.scfootball.org/widgets/GulloParkHeader.png),那么,我可以看到图片。
如果您尝试,请确保将URL复制粘贴到新标签/窗口,而不是单击它
这意味着网站和图像访问之间存在某种问题;不是图像本身。
如果我在firefox 中禁用了referer(web developper toolbar扩展程序可以轻松实现)并刷新您网站的网页,则会显示图片。
如果我重新启用引用,并再次刷新,则图像不再出现。
这意味着有一些与引用相关的东西会阻止图像被发送,而是返回403错误。
只是一个疯狂的猜测:如果引用者不对应特定的,那么.htaccess
目录(或其他地方)中的widgets
会阻止图像被提供域名?
当我在没有HTTPS (例如使用http://www.scfootball.org/index2.php)这样的网址的情况下访问网站时,考虑到网站上显示的图片,可能会有“保护”,因此您的图片如果Referer不是非https网站,则不会显示...当您切换到HTTPS时,“保护”还没有更新?
(我已经看过用于防止图像热链接的那种“保护”,例如)
答案 1 :(得分:0)
这是一个老帖子,但它也可能是热链接保护。
如果你打开一个http://域的允许别名,你也必须使用它的https://,否则它会拒绝你的图像被调用到客户端。
答案 2 :(得分:0)
我在本地用DJango API测试,一切正常,部署SSL后,接口访问正常,但图片显示404
答案 3 :(得分:-1)
是的,“不露面”有点模糊。如果HTML由HTTPS提供,并且图像仍由HTTP提供,则页面中存在一些安全漏洞,您的浏览器可能会以几种非常无效的方式处理这些漏洞。