在实施SSL后,我的网站出现问题,导致图片无法显示。场景是图像来自images.domain.com(托管在Amazon S3上),我的证书来自www.domain.com。
此问题似乎只发生在IE中,而不是在任何其他浏览器中。
答案 0 :(得分:2)
该问题与“混合内容”有关 - HTTPS页面嵌入了HTTP资源(图像,脚本等)。
使用HTTPS的目的是确保只有原始服务器和客户端才能访问受保护的页面。但是,从理论上讲,如果嵌入了HTTP资源,则可能会破坏此安全性 - 服务器可能会拦截不安全的javascript文件并注入一些代码来更改安全页面的负载。
大多数浏览器会通过更改“安全锁定”图标来指示安全页面混合内容,方法是将锁定显示为打开或损坏,或者将图标设置为红色(Chrome会在短时间内显示骷髅和交叉骨骼) ,但他们意识到这对于潜在的威胁级别来说有点严重。)
Internet Explorer(取决于版本)将显示消息,询问是否应显示不安全内容(IE <= 7),或者是否仅显示安全内容(IE> = 8)。听起来你已经以某种方式禁用了此消息以始终隐藏不安全的内容,但这不是默认行为。
我认为最适合您的解决方案是使用HTTPS版本替换您的S3链接。
答案 1 :(得分:1)
我不是网络开发人员,而是经常处理IE废话体验的人。我不确定您使用的是哪个版本,但是您没有通配符SSL证书(即* .domain.com),那么它是否与第三方图像中的旧学限制有关?
请参阅here for what I allude to above以及对how IE caches cross-domain HTTPS content, specifically images的一个非常好的解释。我不确定解决方案是什么,但我很好奇,所以我自己研究了一下,这可能会有所帮助。