如何在https域名下请求http接口

发布于 2022-09-11 22:47:17 字数 433 浏览 18 评论 0

线上环境是https,测试环境是http,在线上想调测试接口,直接请求
现在会报错Mixed Content: The page at 'https:xxx' was loaded over HTTPS, but requested an insecure XMLHttpRequest endpoint 'http://xxx'. This request has been blocked; the content must be served over HTTPS.

是否可以用在http服务器设置CORS(跨域资源共享)来解决?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

傲性难收 2022-09-18 22:47:17

两种处理思路:

  • 1、把测试环境也升级为https,可以考虑使用免费的ca服务,如let's encrypt
  • 2、在线上环境增加一层反向代理,将前端https请求,代理给到后端的http服务
倾`听者〃 2022-09-18 22:47:17

虽然目前部分浏览器是可以的,尤其是国产的,甚至有些把支持加密与非加密协议混合这点当前优点来看。但新版本浏览器只能更严格,将来http协议会更加受限的。

如果网站同时支持https协议,可以都改为https, 可以在html里用//开头的简写方式,这样能与html文件获取协议保持一致。如果不支持https协议的内容,如站外的js,图片等,只能舍弃了,无法用跨域方式解决的,因为js发起的请求也要与html保持一致。

尛丟丟 2022-09-18 22:47:17

原则上都是不允许的, 浏览器自己的安全策略,代码简单的前端代码没有办法解决

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文