同域名 http站点调用https接口 跨域问题

错误

今天有个项目部署时碰到个怪问题,记录一下

业务场景是一个前后分离的项目,由不同的部门开发

在部署时,前端部署在 http://a.com/a 后端部署在 https://a.com/b

预期调用接口时是不会跨域的,但是实际请求时出现了跨域问题

options请求发送并返回200 ok,但后续post请求无法正常提交

询问后端表示已经添加了支持跨域的代码,并且也支持options请求,能确定不是后端接口的问题

原因

没有找到相关文档,如果有文档的大神麻烦留言一下!!!

猜测是因为浏览器的CORS策略禁止了同源站点的http直接调用https接口

解决方案

把前端部署到同站点的 https://a.com/a 下即可正常访问接口

总结

在项目上线阶段要了解清楚后端部署的接口地址是http还是https的,前端也要做对应部署

你可能感兴趣的:(技术指南)