JS加载图片资源自动升级为HTTPS
Image Resource Loaded via JS Gets Automatically Upgraded to HTTPS
当使用以下代码通过 JS 从安全服务器加载图像时:
var preloadImage = new Image();
preloadImage.src = 'http://some/resource.png';
请求自动升级到 https。据推测,停止混合内容是一个善意的功能。但是我指向的服务器只能做 http。我一直在浏览 Image 上可用的方法和属性,但无济于事。我的意思是理想情况下是的,图像将是 https,但它只是一个在 AWS 上启动的临时服务器,所以如果我们现在可以避免它,那会容易得多。
有没有人有办法阻止 JS 自动升级请求?
它不是从 JS 代码触发的,它是由服务器检查客户端是否可以支持 https 并强制它。
我的建议是有一个中间件 server/proxy,它将使用 https 向远程服务器发出请求并使用 http
与原始服务器通信
事实证明,大多数浏览器的最新更新已完全停止混合内容。在它过去常常发出警告之前,现在是不可能的。我们通过一些 nginx 反向代理魔法解决了这个问题,我们在 URL 中传递了 IP,比如 https://normal-domain/preview/IPADDESSS 现在它正在工作。
当使用以下代码通过 JS 从安全服务器加载图像时:
var preloadImage = new Image(); preloadImage.src = 'http://some/resource.png';
请求自动升级到 https。据推测,停止混合内容是一个善意的功能。但是我指向的服务器只能做 http。我一直在浏览 Image 上可用的方法和属性,但无济于事。我的意思是理想情况下是的,图像将是 https,但它只是一个在 AWS 上启动的临时服务器,所以如果我们现在可以避免它,那会容易得多。
有没有人有办法阻止 JS 自动升级请求?
它不是从 JS 代码触发的,它是由服务器检查客户端是否可以支持 https 并强制它。
我的建议是有一个中间件 server/proxy,它将使用 https 向远程服务器发出请求并使用 http
与原始服务器通信事实证明,大多数浏览器的最新更新已完全停止混合内容。在它过去常常发出警告之前,现在是不可能的。我们通过一些 nginx 反向代理魔法解决了这个问题,我们在 URL 中传递了 IP,比如 https://normal-domain/preview/IPADDESSS 现在它正在工作。