首页新闻找找看学习计划

图片服务器启用HSTS但Chrome依然有"Mixed Content"警告

0
悬赏园豆:30 [已解决问题] 解决于 2018-04-16 16:50

页面中以 http 引用了图片,图片服务器启用 HSTS 后

Strict-Transport-Security: max-age=31536000

Chrome 会自动以 307 跳转到 https 地址,但 Chrome 会出现警告:

Mixed Content: The page at '<URL>' was loaded over HTTPS, but requested an insecure image '<URL>'. This content should also be served over HTTPS.

请问如何在不修改地址的情况下让 Chrome 不出现警告?

dudu的主页 dudu | 高人七级 | 园豆:40762
提问于:2018-04-16 11:56
< >
分享
最佳答案
0
收获园豆:30
不如隐茶去 | 小虾三级 |园豆:752 | 2018-04-16 12:15

图片服务器加了 Content-Security-Policy: upgrade-insecure-requests 响应头,已经没有 307 跳转,直接是 https ,但 Chrome , Firefox, Safari 依然有警告

dudu | 园豆:40762 (高人七级) | 2018-04-16 13:58

@dudu: 给主站添加  Content-Security-Policy: upgrade-insecure-requests 可以让浏览器自动把页面上引用的所有资源以及同域名下的所有 a 标签由 http 升级为 https,从而有效避免 Mixed Content 警告。对于指向不同域的 a 标签,不会自动升级 HTTPS。还有一个需要注意的地方是,IE 浏览器不支持这个 CSP 指令。

不如隐茶去 | 园豆:752 (小虾三级) | 2018-04-16 16:37

@不如隐茶去: 嗯,应该在内容站点添加 upgrade-insecure-requests 而不是图片服务器

dudu | 园豆:40762 (高人七级) | 2018-04-16 16:50

Content-Security-Policy: upgrade-insecure-requests会将所有图片地址(包括外站的)都升级为https

dudu | 园豆:40762 (高人七级) | 2018-04-16 18:20
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册