代理解决跨域问题

之前讲到了解决跨域的两种方式:JSONPCORS ,都是需要在被调用方来修改代码解决的。

我们还可以通过代理方式,在调用方来解决跨域问题。

代理解决跨域问题

代理解决跨域问题的思路是:让发送出去的请求代理成是本域的

举个例子:

192.168.10.1:8080 是调用方
192.168.10.2:8080 是被调用方

它俩是不同域的,但我们可以在 nginx 或 Apache 上进行配置代理:将被调用方 192.168.10.2:8080 射成别的路径

http {
    server {
       listen 80;
       
	   location /{
			proxy_pass http://192.168.10.1:8080;
	   }
	   
	   location /test{
			proxy_pass http://192.168.10.2:8080;
	   }
    }
}

比如上面,nginx 运行在 192.168.10.1 上,nginx 将 192.168.10.2:8080 端口的映射成了 test ,当调用方访问 test 路径时,这样的方法在外部看起来就不像是跨域了,像是访问本地(http://192.168.10.1:8080),但实际访问别的域(http://192.168.10.2:8080)。

总结

以上就是解决跨域的三种方式:JSONPCORS 、代理。

最简单的是通过 Spring 的注解就可以解决跨域的问题了,JSONP 的方式已经是很少用的了,因为存在一定的弊端。当我们无法改动被调用方代码时,可以使用代理解决跨域问题。

  • 4
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值