springcloud 前后端分离吗_SpringCloud前后端分离,Gateway配置跨域

在前后端分离的系统结构中,前端项目与后端代码部署在不同服务器,当前端页面请求后端代码时,就会出现跨域问题,如:

d9f04aea727aecb3489ca0e28789bae6.png

不多说,直接上干货:

  1.  用nginx代理,把前端项目和后端Api通过nginx代理,统一使用同一协议同一域名同一端口(了解nginx的都应该知道怎么处理,这里就不详细开展)

  2. 在SpringCloud项目中,可以在Gateway(网关)中统一配置跨域请求,下面我们重点讲一下配置过程

Gateway统一配置跨域请求

准备工作:

1.先搭建好一个超级简单,超级捡漏,只为测试的springcloud应用,里面包括gateway模块+一个业务模块

2.新建一个html页面,里面ajax请求后台Api

配置过程:在gateway模块中新建一个配置类加入到spring容器中,重启gateway模块,如:

/** * @author Wgy * @date 2020/9/8 16:07 * @describe 跨域配置类 */@Configurationpublic class MyCorsConfiguration {    @Bean    public CorsWebFilter corsWebFilter() {        UrlBasedCorsConfigurationSource source=new UrlBasedCorsConfigurationSource();        CorsConfiguration corsConfiguration=new CorsConfiguration();        //这里只做演示,故所有条件都允许,生产环境根据自己的要求自己配置        corsConfiguration.addAllowedHeader("*");//允许所有的请求头跨域        corsConfiguration.addAllowedMethod("*");//允许所有的请求方式跨域  如:get post put delete        corsConfiguration.addAllowedOrigin("*");//允许所有的请求来源跨域        corsConfiguration.setAllowCredentials(true);//允许携带cookies跨域        source.registerCorsConfiguration("/**",corsConfiguration);         return new CorsWebFilter(source);    }}

配置后效果:

前端页面地址:localhost:58333

后端api地址:localhost:80(网关)

0ff295347021c7212317749fd218cc21.png

注意:

博主已经把前端项目用58333端口启动,后端springcloud项目已经用户模块用8080,8081启动,订单模块用9001,9002启动,网关端口用80,注册和配置中心用nacos。该测试Demo统一用网关配置路由。

需要测试案例可关注本公众号,在聊天框中留言,博主可以手把手教你搭建测试用例喲fd2e18f76a07abecb1661f7daf9c08cd.png


   cc8804b06a8f88a776e4b6549e57a2e7.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值