Aar*_*ron 2 javascript https mixed-content
我有兴趣将我的整个网站从http切换到https.
我担心的是我有一些内容使用绝对的http URL.
我需要编辑每个页面,以便将这些URL更改为相对,但这可能需要一段时间才能完成.
我想知道的是,是否有办法通过Google跟踪代码管理器使用Javascript,以便将本地绝对URL重写为HTTPS而不是HTTP?
如果可以的话,它可以用作永久解决方案吗?
需要考虑的一个解决方案是内容安全策略upgrade-insecure-requests指令.
该
upgrade-insecure-requests指令指示用户代理处理所有站点的不安全URL(通过HTTP提供的URL),就像它们已被安全URL(通过HTTPS提供的URL)替换一样.此指令适用于需要重写大量不安全遗留URL的网站.
这相当于配置您的Web服务器,因此您的站点上的所有页面都可以通过此标头提供:
Content-Security-Policy: upgrade-insecure-requests
Run Code Online (Sandbox Code Playgroud)
因此,添加该标头的效果将是:对于您网站上提供httpsURL的任何页面,只要浏览器在其中一个页面中看到http嵌入(子)资源的URL,它是否为样式表的URL,脚本,图像,视频或其他任何东西 - 浏览器将自动(透明地)尝试从相应的httpsURL 获取资源.
有关更多详细信息,您可以查看升级不安全请求规范.
2018-05-11更新
upgrade-insecure-requests现在所有主流浏览器引擎(包括Edge 17+和Safari 10.3+)都支持该指令:
https://caniuse.com/#feat=upgradeinsecurerequests
现在使用它的缺点是,到目前为止它只在Firefox(自Firefox 42)和Chrome中得到支持.但它也:
PS,我在W3C工作,我们最近(最终)启用了对所有W3C站点资源的TLS/https访问 - 并且由于W3C有数十万(可能是数百万)页面,其中http包含嵌入式子资源的URL,我们的方式Content-Security-Policy: upgrade-insecure-requests通过在整个网站上提供标题来部分实现它.
w3.org上的支持HTTPS和HSTS的文章提供了有关部署详细信息的更多信息.
| 归档时间: |
|
| 查看次数: |
1075 次 |
| 最近记录: |