怎么解决服务器间的跨域问题

怎么解决服务器间的跨域问题,第1张

服务端的解决方案的基本原理就是,由客户端将请求发给本域服务器,再由本域服务器的代理来请求数据并将响应返回给客户端。

最常用的服务器解决方案就是利用web服务器本身提供的proxy功能,如apache和lighttpd的mod_proxy模块。在百度内

部,transmit的分流功能也可以解决部分跨域问题。但这些方法都有一定的局限性,鉴于安全性等问题的考虑,space这边最后开发了一个专门用于处

理跨域请求代理服务的spproxy模块,用于彻底解决js跨域问题。

下面我们将以空间的开放平台为例,简单介绍下如何通过apache的mod_proxy、transmit的分流以及space的spproxy模块来解

决该跨域问题,并简单介绍下spproxy的一些特性、缺点及下一步的改进计划。

空间在展现每个UWA开放模块之前都必须请求该模块的xml源代码以进行解析,每个模块的源代码文件都是存放在act域下的/ow/uwa目录下,那么在

用户空间首页(hi域)中请求该xml文件时就会存在js跨域问题。要解决该问题,只能让js向hi域的web服务器请求xml文件,而hi域web服务

器则通过一定的代理机制(如mod_proxy、transmit分流、spproxy)向act域的web服务器请求文件

https://blog.csdn.net/weixin_40760196/article/details/110225600

一、java类配制

二、yml配制

前端页面通过不同域名或IP访问SpringCloud Gateway,例如前端人员在本地起HttpServer直连服务器的Gateway进行调试。此时,同样会遇到跨域。需要在Gateway的配置文件中增加:

因为浏览器的同源政策,就会产生跨域。比如说发送的异步请求是不同的两个源,就比如是不同的的两个端口或者不同的两个协议或者不同的域名。由于浏览器为了安全考虑,就会产生一个同源政策,不是同一个地方出来的是不允许进行交互的。

解决跨域的方法:

1、通过jsonp跨域。

2、通过修改document.domain来跨子域。

3、使用window.name来进行跨域。

4、使用HTML5中新引进的window.postMessage方法来跨域传送数据。

5、使用代理服务器,使用代理方式跨域更加直接,因为同源限制是浏览器实现的。如果请求不是从浏览器发起的,就不存在跨域问题了。

跨域的特点:

1、跨域只存在于浏览器,不在浏览器发请求是不会存在跨域问题的。

2、跨域是出现在ajax请求中,普通请求不会。

3、所有的跨域,都必须经过服务端的允许和配合,未经server端的允许和配合就实现跨越,说明浏览器有漏洞,不安全。

以上内容参考  百度百科-跨域网络


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/791363.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-08-25
下一篇2023-08-25

发表评论

登录后才能评论

评论列表(0条)

    保存