【发布时间】:2021-02-08 13:48:17
【问题描述】:
我们有一个在公司桌面上运行的内部 (.Net) 应用程序。它运行一个小型 Web 服务器,在 localhost 的特定端口上侦听 HTTP 请求。我们有一个单独的 HTTPS 网站,它通过将隐藏图像的 ImageUrl 设置为 URL 来与该应用程序进行通信 - 这会调用对 localhost 的 HTTP 请求,应用程序会接受并采取行动。例如,网站会将图片的 URL 设置为:
http://127.0.0.1:5000/?command=dostuff
这是为了解决来自网站的任何类型的“混合内容”消息,因为图像似乎不受混合内容规则的约束。有点小技巧,但效果很好。
我看到 Chrome 正在朝着完全阻止页面上的混合内容迈进,果然 Chrome 87(目前在测试版通道上)现在在控制台中显示了这些警告:
混合内容:“https://oursite.company.com/”的页面已加载 通过 HTTPS,但请求了不安全的元素 'http://127.0.0.1:5000/?command=dostuff'。这个请求是 自动升级到 HTTPS,更多信息见 https://blog.chromium.org/2019/10/no-more-mixed-messages-about-https.html
但是,尽管警告说请求正在自动升级,但它并没有 - 应用程序仍然收到一个普通的 HTTP 请求并继续正常工作。
关于此警告是否为“软失败”以及 Chrome 的未来版本是否会强制自动升级到 HTTPS(这会破坏事情),我找不到任何明确的指导。从长远来看,我们计划更换该应用程序,但我希望在任何会在此之前突然停止该应用程序工作的事情发生之前。
在上述场景中使用 HTTP 到 localhost 来处理图像和其他混合内容是否会成为未来的实际问题?
【问题讨论】:
-
您的实际问题是什么?
-
@DylanSp:我已经更新了帖子。我想我要问的是:为什么 Chrome 说它正在将 HTTP 请求升级到 HTTPS,而实际上它不是,并且鉴于这似乎是一个“软警告”,这是否会开始成为我们在未来?
-
Chrome 是该环境中唯一使用的浏览器吗?
-
@Binarus:是的,这是我们为企业用户提供的唯一支持
-
您对问题的可能解决方案而不是您的问题的答案感到满意吗?
标签: google-chrome mixed-content