gpt4 book ai didi

javascript - MixedContent 当我通过 ajax 加载 https 页面时,但浏览器仍然认为它是 http

转载 作者:数据小太阳 更新时间:2023-10-29 04:36:51 25 4
gpt4 key购买 nike

在网页上安装 SSL 证书后,我遇到了一个问题,即使用 https 服务的页面需要使用 ajax 的 http 端点。我正在使用 restangular,并将基本 url 更改为具有 https。

    var uri = location.protocol + "//" + location.host;
RestangularProvider.setBaseUrl(uri);

有趣的是,当我在 chrome 开发者工具中看到请求时,我看到了

Request URL:https://theaddress.com/api/endpoint
Request Headers
Provisional headers are shown
Accept:application/json, text/plain, */*
Referer:https://theadress.com/somepage
User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.93 Safari/537.36
X-Requested-With:XMLHttpRequest

所以请求应该是 https 请求,但我仍然得到:

Mixed Content: The page at 'https://theaddress.com/somepage' was loaded over HTTPS, but requested an insecure XMLHttpRequest endpoint 'http://theadress.com/api/endpoint'. This request has been blocked; the content must be served over HTTPS.

我还应该提一下,这发生在生产服务器上,但在我使用包含 https 的基本 url 后,在我的本地测试中它工作正常(我有自签名的 ssl 证书)。

可能是什么问题?

最佳答案

我刚刚花了 4 个小时试图解决类似的问题。这是解决我的问题的方法:

总结:在您的请求中添加尾随的“/”

我找到了 this post对解决我的问题很有用。基本上,服务器不关心您发送的请求是否带有尾随“/”,因为如果您不添加它,它会在内部路由到“/”。但是,如果路由发生在内部(例如,nginx 将请求传递给本地进程),您会得到一个 http 重定向,这将使您的请求失败。

关于javascript - MixedContent 当我通过 ajax 加载 https 页面时,但浏览器仍然认为它是 http,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28197528/

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