【问题标题】:The page was loaded over HTTPS, but requested an insecure XMLHttpRequest endpoint该页面是通过 HTTPS 加载的,但请求了一个不安全的 XMLHttpRequest 端点
【发布时间】:2021-11-22 17:56:03
【问题描述】:
我正在从 Https 部署的应用程序调用一个 REST API
到 Http REST API。
我使用 Angular Js 框架在 JavaScript 中编写了逻辑。
Web 服务调用失败并显示以下消息。
“https://********someurl****”处的页面通过 HTTPS 加载,但请求了不安全的 XMLHttpRequest 端点
请求是否有人可以帮助我摆脱这个错误。
【问题讨论】:
标签:
javascript
angularjs
ajax
https
【解决方案1】:
解决方法:
1- 点击地址栏最右侧的盾牌图标。
在谷歌浏览器中允许混合内容
2- 在弹出的窗口中,点击“仍然加载”或“加载不安全的脚本”。
如果您想将 Chrome 浏览器设置为始终(在所有网页中)允许混合内容:
1- 关闭 Chrome。在执行后续步骤之前,必须完全关闭 Chrome。
2- 右键单击 Google Chrome 桌面图标(或开始菜单链接)。选择属性。
3- 在 Target 字段中现有信息的末尾,添加:“--allow-running-insecure-content”(第一个破折号之前有一个空格。)
4- 单击确定。
5- 打开 Chrome 并尝试启动之前被阻止的内容。它现在应该可以工作了。
这只是一种解决方法,您需要通过保护应用程序和休息 api 来解决。
【解决方案2】:
为您的 Rest API 使用 https 端点,否则您将得到 mixed content
- HTTPS 对于保护您的网站和用户免受攻击非常重要。
- 混合内容会降低 HTTPS 网站的安全性和用户体验。
【解决方案3】:
如果您无法切换到 https,另一种解决方案是设置您通过 https 访问的服务器端端点,然后调用 http url 并返回结果。换句话说,为 http 资源制作自己的小型 HTTPS 代理
【解决方案4】:
在我的情况下,chrome 导致了这个问题,不知道为什么,其他浏览器工作正常。
**提示:我浪费了两天时间试图找出原因,希望这对某人有所帮助。