跨域问题

跨域问题,也是一个开发中经常遇见的一个实际问题了。

 

首先来说说跨域是怎么产生的?

  产生跨域问题,其实是浏览器的安全机制导致的。当请求访问的域名与jaxa请求地址不一致的时候,浏览器无法接收到ajax回请的结果。这便产生了跨域问题。

 

  举个栗子:

    当你的网站域名是http://www.a.com,在www.a.com/a/a.jsp这个页面,你写了一个ajax请求,要请求http://www.b.com/b/b的服务器的接口,请求返回的结果是接收不到的。因为浏览器默认网站资源必须在同一个域名请求下。

 

辣么怎么解决跨域问题呢?

  1、使用jsonp请求格式,但是jsonp只支持get请求,不支持post请求  (前端使用的办法)

  2、使用接口网关处理:nginx、或springcloud的zull  (一般在公司项目开发中,大项目公司都会用这种解决办法)

  3、使用httpclient内部转发

  4、添加请求头header设置请求允许跨域访问   (后端使用的办法)

  5、如果公司用了k8s服务平台,也可以用k8s上的网络配置插件解决跨域问题,我太久没看了,k8s里面好像有个统一把外网ip地址映射成内网ip地址的配置,这样也就解决了跨域问题

 

4、添加请求头header设置请求允许跨域访问:示例如下图:

 

posted @ 2019-03-20 16:48  下课后我要去放牛  阅读(525)  评论(0编辑  收藏  举报