页面中以 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 不出现警告?
图片服务器加了 Content-Security-Policy: upgrade-insecure-requests
响应头,已经没有 307 跳转,直接是 https ,但 Chrome , Firefox, Safari 依然有警告
@dudu: 给主站添加 Content-Security-Policy: upgrade-insecure-requests 可以让浏览器自动把页面上引用的所有资源以及同域名下的所有 a 标签由 http 升级为 https,从而有效避免 Mixed Content 警告。对于指向不同域的 a 标签,不会自动升级 HTTPS。还有一个需要注意的地方是,IE 浏览器不支持这个 CSP 指令。
@不如隐茶去: 嗯,应该在内容站点添加 upgrade-insecure-requests
而不是图片服务器
Content-Security-Policy: upgrade-insecure-requests
会将所有图片地址(包括外站的)都升级为https