当前位置: 首页 > news >正文

网站建设温州百度搜索app下载

网站建设温州,百度搜索app下载,网站名称 域名,dw做的上传网站打不开0、版本说明 Spring Cloud Version:Spring Cloud 2021.0.4 Spring Cloud Gateway Version:3.1.4 Spring Boot Version:2.6.11 1、网关跨域问题说明 关于跨域的相关原理和理论,网上有大量文章对此进行说明,因此博主在这…

0、版本说明

Spring Cloud Version:Spring Cloud 2021.0.4
Spring Cloud Gateway Version:3.1.4
Spring Boot Version:2.6.11

1、网关跨域问题说明

  关于跨域的相关原理和理论,网上有大量文章对此进行说明,因此博主在这里就不再赘述,这里仅说明对于在同一注册中心中注册的服务,网关可以通过在注册中心注册的服务名对相应请求找到对应的服务进行路由转发,因此这种情况,不存在跨域问题,但是对于一些通过Nginx反向代理到网关服务下的请求进行访问时,就存在了跨域问题,所以下面网关配置也是针对此部分问题进行解决。

2、网关跨域解决

针对网关跨域解决,这里提供两种解决方案,仅供参考,下面配置均在线上环境测试通过,关于其他版本,仅供参考!

2.1、方案一:网关注入配置类

Spring Cloud Gateway提供了跨域的配置类,然后在网关项目代码中添加一个CorsWebFilter类即可实现,关于网关提供的Cors配置类,可参看官方文档(CorsConfiguration (Spring Framework 5.0.20.RELEASE API))

@Configuration
public class GlobalCorsConfig {@Beanpublic CorsWebFilter corsWebFilter() {CorsConfiguration config = new CorsConfiguration();// 这里仅为了说明问题,配置为放行所有域名,生产环境请对此进行修改config.addAllowedOrigin("*");// 放行的请求头config.addAllowedHeader("*");// 放行的请求方式,主要有:GET, POST, PUT, DELETE, OPTIONSconfig.addAllowedMethod("*"); // 暴露头部信息config.addExposedHeader("*"); // 是否发送cookieconfig.setAllowCredentials(true); UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();source.registerCorsConfiguration("/**", config);return new CorsWebFilter(source);}
}

说明:

        由于spring-framework从5.3.0版本开始,关于CORS跨域配置类 CorsConfiguration 中将 addAllowedOrigin 方法名修改为 addAllowedOriginPattern(spring-framework项目对应的类信息:https://github.com/spring-projects/spring-framework/blob/v5.3.0/spring-web/src/main/java/org/springframework/web/cors/CorsConfiguration.java),所以,如果项目中 spring-framework 版本高于5.3.0,请使用如下配置类代码。

@Configuration
public class GlobalCorsConfig {@Beanpublic CorsWebFilter corsWebFilter() {CorsConfiguration config = new CorsConfiguration();// 这里仅为了说明问题,配置为放行所有域名,生产环境请对此进行修改config.addAllowedOriginPattern("*");// 放行的请求头config.addAllowedHeader("*");// 放行的请求方式,主要有:GET, POST, PUT, DELETE, OPTIONSconfig.addAllowedMethod("*"); // 暴露头部信息config.addExposedHeader("*"); // 是否发送cookieconfig.setAllowCredentials(true); UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();source.registerCorsConfiguration("/**", config);return new CorsWebFilter(source);}
}

2.2、方案二:网关yaml文件添加配置

Spring Cloud Gateway 也提供了可以直接通过在yaml文件中配置的方式解决跨域问题,具体的类配置可以查看源码中对应的类org.springframework.cloud.gateway.config.GlobalCorsProperties,源码地址如下:

https://github.com/spring-cloud/spring-cloud-gateway/blob/v3.1.4/spring-cloud-gateway-server/src/main/java/org/springframework/cloud/gateway/config/GlobalCorsProperties.java

网关yaml配置如下:

spring:cloud:gateway:# 网关全局跨域配置globalcors:cors-configurations:'[/**]':allowedOrigins: "*"allowedMethods: "*"allowedHeaders: "*"allowCredentials: true# 解决options请求被拦截的问题add-to-simple-url-handler-mapping: true

说明:

        由于spring-framework从5.3.0版本开始,关于CORS跨域配置类 CorsConfiguration 中将 allowedOrigins 变量名修改为 allowedOriginPatterns(spring-framework项目对应的类信息)所以,如果项目中 spring-framework 版本高于5.3.0,请使用如下配置代码。

spring:cloud:gateway:# 网关全局跨域配置globalcors:cors-configurations:'[/**]':allowedOriginPatterns: "*"allowedMethods: "*"allowedHeaders: "*"allowCredentials: true# 解决options请求被拦截的问题add-to-simple-url-handler-mapping: true

http://www.mnyf.cn/news/53883.html

相关文章:

  • 手机网站开发视频教程国际最新十大新闻事件
  • 网站建设 500强建站seo营销推广平台
  • 湖北专业网站建设质量保障怎么快速优化网站排名
  • 燕郊网站建设公司网络营销工作内容是什么
  • 推荐6个免费国外自媒体平台windows优化大师可靠吗
  • 装修网站是怎么建设的小程序推广运营的公司
  • 做点心的网站西安优化外
  • 九江哪里做网站百度一下app下载安装
  • wordpress缓存清理抖音搜索优化
  • 月嫂云商城网站建设洛阳市网站建设
  • c2c二手车交易平台百度小程序关键词优化
  • 网站整站免费网站推广软文发布
  • 济南建站都选企汇优先做后付宁波seo网站服务
  • 网站这么推广短视频seo营销
  • 黄山网站推广公司百度域名购买
  • 聊城网站建设代理商中国搜索引擎排名2021
  • 中国人民银行网站官网域名备案查询官网
  • 邯郸做移动网站多少钱seo基础教程使用
  • 做网站建设的企业还有那些青岛seo计费
  • 怎样给网站做一张背景seo搜索引擎优化费用
  • 专业网站的定义网络推广平台网站推广
  • 盐城做网站网络公司电话?seo网络推广公司排名
  • 毕业设计做网站拉新任务接单放单平台
  • 开发一个网站需要多少钱深圳网络公司推广平台
  • 制作网站价格灯塔seo
  • 上海十大企业seo技术培训唐山
  • 视频变成网站怎么做百度站长收录入口
  • 东莞企业网站建设开发公司淘宝产品关键词排名查询
  • 个人房产信息查询网站山西seo和网络推广
  • 宁波建设网站的公司文登seo排名