Javascript http到https-使浏览器为http URL请求相应的https URL,而无需编辑所有页面并手动将所有URL更改为https?
我有兴趣将我的整个站点从http切换到https 我担心的是,我有一些使用绝对http URL的内容 我需要编辑每个页面,以便将这些URL更改为相对URL,但这可能需要一段时间才能完成 我想知道的是,是否有一种方法可以通过Google标记管理器使用Javascript将本地绝对URL重新写入HTTPS而不是HTTPJavascript http到https-使浏览器为http URL请求相应的https URL,而无需编辑所有页面并手动将所有URL更改为https?,javascript,https,mixed-content,Javascript,Https,Mixed Content,我有兴趣将我的整个站点从http切换到https 我担心的是,我有一些使用绝对http URL的内容 我需要编辑每个页面,以便将这些URL更改为相对URL,但这可能需要一段时间才能完成 我想知道的是,是否有一种方法可以通过Google标记管理器使用Javascript将本地绝对URL重新写入HTTPS而不是HTTP 如果这是可能的,它可以作为一个永久性的解决方案吗?当JavaScript被执行时,有问题的资源可能已经被过度加载了 您可以简单地通过代码查找http://的任何实例,并用URL或相对
如果这是可能的,它可以作为一个永久性的解决方案吗?当JavaScript被执行时,有问题的资源可能已经被过度加载了 您可以简单地通过代码查找
http://
的任何实例,并用URL或相对URL替换这些实例
如果您的内容更复杂(例如,分布在多台机器上),您可以使用镜像脚本(如)下载整个页面的静态版本,并进行搜索
然后,设置HTTPS(首先只为您设置,然后为所有测试人员设置),并检查是否一切正常。一旦你确定这是事实,允许每个人都通过HTTPS。最后,稍后,考虑将HTTP重定向到HTTPS并实现,和./P>< P>一个要考虑的解决方案是.
升级不安全请求
指令指示用户代理
将站点的所有不安全URL(通过HTTP提供的)视为
虽然它们已被安全URL(那些通过
HTTPS)。本指令适用于具有大量
需要重写的不安全的旧URL
这相当于配置您的Web服务器,使您网站上的所有页面都使用以下标题:
Content-Security-Policy: upgrade-insecure-requests
因此,添加该标题的效果将是:对于站点上提供https
URL的任何页面,每当浏览器在其中一个页面中看到嵌入式(子)资源的http
URL时,无论是样式表、脚本、图像、视频的URL,还是浏览器将自动(透明)显示的任何内容请尝试从相应的https
URL获取资源
有关更多详细信息,请参见规范
2018-05-11更新
现在,所有主要浏览器引擎(包括Edge 17+和Safari 10.3+)都支持升级不安全请求
指令:
现在使用它的缺点是,到目前为止,它只在Firefox()和Chrome中受支持。但它也:
- 有一个
- 是
顺便说一句,我在W3C工作,在那里我们-而且由于W3C有成千上万(可能数百万)的页面,其中包含嵌入式子资源的
http
URL,我们实现这一点的部分方式是通过在整个站点上提供内容安全策略:升级不安全请求标题
本文提供了有关部署详细信息的更多信息。为什么不在文件目录中使用搜索并替换为regexp?许多服务都是通过常规http或SSL/https提供的。您可以通过省略协议部分来克服其中一些问题,并编写url,如://somedomain.com/../…
问题:1)如何将其添加到网站?像这样
2)如果我错了,请纠正我的错误,但这不适用于所有浏览器?您不能使用meta
元素或特定文档HTML中的任何其他标记;相反,您需要配置Web服务器以将其作为HTTP头发送。是的,它还不能在所有浏览器中工作;目前只有Chrome和Firefox支持。谢谢。这就是我认为的问题所在。