首页 > 其他分享 >springcloud 跨域问题解决

springcloud 跨域问题解决

时间:2023-08-31 18:11:06浏览次数:32  
标签:跨域 spring springcloud cors 解决 gateway cloud configurations

问题原因

跨域本质是浏览器基于同源策略的一种安全手段

同源策略(Sameoriginpolicy),是一种约定,它是浏览器最核心也最基本的安全功能

所谓同源(即指在同一个域)具有以下三个相同点

  • 协议相同(protocol)
  • 主机相同(host)
  • 端口相同(port)

反之非同源请求,也就是协议、端口、主机其中一项不相同的时候,这时候就会产生跨域

一定要注意跨域是浏览器的限制,你用抓包工具抓取接口数据,是可以看到接口已经把数据返回回来了,只是浏览器的限制,你获取不到数据。用postman请求接口能够请求到数据。这些再次印证了跨域是浏览器的限制。

解决

方法一

在 gateay 模块的 application.properties 文件中添加

# 全局跨域配置
# 允许跨域的域名
spring.cloud.gateway.globalcors.cors-configurations.[/**].allowedOriginPatterns=*
# 允许跨域的请求头
spring.cloud.gateway.globalcors.cors-configurations.[/**].allowedHeaders=*
# 允许跨域的请求方法
spring.cloud.gateway.globalcors.cors-configurations.[/**].allowedMethods=*
# 是否允许携带cookie
spring.cloud.gateway.globalcors.cors-configurations.[/**].allowCredentials=true
# 跨域请求检测的有效期,单位为秒
spring.cloud.gateway.globalcors.cors-configurations.[/**].maxAge=3600

方法二

在对应的 Controller 类或方法头上一行添加 @CrossOrigin

标签:跨域,spring,springcloud,cors,解决,gateway,cloud,configurations
From: https://www.cnblogs.com/shixuanliu/p/17670170.html

相关文章

  • Seata解决分布式事务
    简介Seata是阿里开源的一款开源的分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务。初始化数据库创建seata库,初始化脚本如下----------------------------------ThescriptusedwhenstoreModeis'db'----------------------------------thetablet......
  • 解决VR中UGUI world space UI会被其他物体遮挡的问题
    问题:在制作VR内容时,通常使用的都是UGUI,一般会将Canvas的rendermode设置为worldspace,但是这样设置过后,因为UI是直接放在了场景里面,很容易被其他物体挡住。解决方法:Unity官方的一个VR例子中给出了一个shader的解决方案。将如下的shader文件挂在材质上将这个材质赋予需要总......
  • 采埃孚ZF EDI解决方案
    德国ZF公司全名ZFFriedrichshafenAG(弗里德里西港ZF股份公司),德国采埃孚(ZF)集团,简称ZF公司,是当今世界上最重要的传动系统产品专业制造厂家之一。1908年,本着发明的精神、丰富的理念及开创新领域的决定,斐迪南·冯·齐柏林伯爵(CountFerdinandvonZeppel)在康斯坦茨湖上创立了齐......
  • 随身WiFi安装青龙面板通用依赖安装及部分报错解决方法
    使用方法:到青龙面板--依赖管理--新建依赖依赖类型选择对应名称一键复制下面的依赖,粘贴到名称可填写框框记得选自动拆分NodeJs依赖库crypto-jsprettytabledotenvjsdomdate-fnstough-cookietslibws@7.4.3ts-md5jsdom-gjiebafsform-datajson5global-agentpng-js@ty......
  • 8.30日遇到的问题及其解决
    问题1问题描述:在piplist显示没有opencv包,但是可以运行opencv的代码。原因:opencv被编译成了cv2.so文件供python调用解释:参考IndexOut的手动编译opencv生成cv2.so文件供python调用(http://t.csdn.cn/9ujLu)问题2问题描述:安装boost库总是下载失败原因:用的是官方镜像解决:换国......
  • 关于分页查询数据重复的问题 (分页查看时数据库插入导致) 的一个解决办法
    既然是在我分页的过程中,插入了一条记录,导致我再查询下一页的时候,查出来上一页的记录,那么,我思考,我可不可以不去查询他新增的这一条记录。那么这样,就查询不到别人新增的这条记录了。那么需要的条件就出来了:数据库表要有创建时间的这么一个字段那么解决思路就出来了,首先是要前端进行......
  • MySQL 使用Navicat delete/insert into/update 大量数据表锁死,kill的线程后线程处于ki
      MySQL使用delete/insertinto/update大量数据表锁死,kill的线程后线程处于killed状态问题解决实际生产环境问题描述:使用Navicat备份BigData数据表时不小心点到了取消按钮,导致数据表被锁。  查看MySQL线程队列,找到刚刚执行的SQL看是属于什么状态。showprocessli......
  • 分布式光伏储能系统远程监控运维解决方案
    行业背景随着经济发展对于能源需求的不断提升,光伏发电作为一种重要的可再生清洁能源,受到国家和企业的重点关注。光伏发电是将太阳能转换为电能的过程,其输出功率“靠天吃饭”,容易受到太阳辐射强度、温度等环境因素影响,具有波动性、间歇性、不稳定性等特性。多地开始要求分布式新能源......
  • 8.29日遇到的问题及其解决
    问题1问题描述:pip安装virtualenvwrapper,在/usr/local/bin目录下找不到virtualenvwrapper.sh原因:猜测为权限问题:/usr/local/bin为当前系统的管理员权限的目录,没有足够的权限来写入该目录,那么安装可能会失败。解决:管理员权限重新安装sudopipuninstallvirtualenvwrappersudo......
  • 解决Macos Safari浏览器搜索栏输入卡顿
    打开Safari浏览器,按⌘和,或者点击左上角Safari-设置。在通用设置中将保存浏览记录时间改为一个月即可......