gpt4 book ai didi

javascript - "Mixed content"在HTTPS页面访问HTTP出错

转载 作者:太空宇宙 更新时间:2023-11-03 13:25:29 25 4
gpt4 key购买 nike

我们的 Intranet 网站必须与客户端 .NET 应用程序通信。我们在客户端应用程序上使用 HttpListener(在 http://localhost:[port] 上)和在页面中引用此 url 的 iframe。当页面为 HTTP 时,它的工作就像一个魅力。

问题:当网站是 HTTPS 时,在较新的浏览器中会显示“混合内容”Javascript 错误,并且请求不会到达客户端。

我相信当使用 Ajax 请求而不是 iframe 时也会发生此错误。

我还尝试将自签名证书绑定(bind)到监听器并监听 https://localhost:[port] (适用于 IE),但由于 Firefox 有自己的证书存储,因此很难自动将其安装到那里(IE 使用 Windows 证书存储,很容易在那里安装)。

那么,有没有人知道向 http://localhost:[port] 发出请求的可能性?当网站本身是适用于 FF 和 IE 的 HTTPS 时?

谢谢!

最佳答案

将 iframe 更改为:

<script>
var request = new XMLHTTPRequest();
request.open("GET", "http://localhost:[port]/?action=doStuff");
request.send();
</script>

您还需要对您的应用进行一些小的修改。

它需要实现一个 OPTIONS 方法,并且需要返回一个跨源资源策略。这听起来比实际困难得多,它只需要返回一个将 Access-Control-Allow-Origin header 设置为 * 的回复。

GET 请求的响应也必须具有此 header 。

如果您知道在本地主机上尝试与您的应用程序通信的所有域,您可以将 * 更改为白名单或什至只是一个值。

关于javascript - "Mixed content"在HTTPS页面访问HTTP出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32890376/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com