我试图通过相对链接在我的ssl网站上显示来自非ssl网址源的图片,确保挂锁显示为绿色并且不会向混合内容发送消息。虽然我明白这可能不是最好的方法,但我有两个问题:
1)我有两个来源:
和
如果我将第一个来源转换为:
// bc01.rp-online.de/polopoly_fs/benito-raman-fortuna-duesseldorf-2017-1.7053738.1516622253!httpImage/1633501625.jpg_gen/derivatives/d950x950/1633501625.jpg
它不会显示在Chrome中。
如果我将第二个来源转换为:
// bilder.bild.de/fotos-skaliert/prinzessin-eugenie-ist-verlobt-200668711-54556312/3,w=120,c=0.bild.jpg
它将显示在Chrome中,挂锁显示为绿色。
有人可以解释我的区别吗?
2)是否有更好的方法在SSL站点中显示来自非SSL URL外部源的图像,确保挂锁为绿色。
任何帮助都将受到高度赞赏。
答案 0 :(得分:1)
有趣的是你应该发布这个。对于今天类似的事情我有一个非常奇怪的行为,你没有选择但使用//example.com/......
这只是一个(谷歌)Chrome的东西。
这里的不同之处在于,在使用//
时,它会自动解析为相应的协议;您应该使用它,这适用于JS脚本,图像,表单等。
注意:如果代码中的任何地方混合了http / https,那么这也会造成严重破坏,并会在任何浏览器中发出有关混合内容的消息。
答案 1 :(得分:0)
如果您的网址以" //"这意味着浏览器应该使用父网页的协议。在你的情况下,这是https。
所以你的两个链接就是:
但是bc01.rp-online.de没有有效的https证书。 和
完美无缺。
如果您在https网站中包含http图片,则Chrome不会显示" secure"绿色挂锁,因为您的网站不完全安全:某些项目可能会被第三方拦截/修改。
要使用绿色挂锁,您应该只使用安全(https)图像/资源。如果这些图像不适用于https(或者如果他们的https链接被破坏或重定向到http),那么您需要找到另一种解决方案,例如托管自己的图像。