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

网站开发 方案 报价单中国四大咨询公司

网站开发 方案 报价单,中国四大咨询公司,做网站什么类型好,怎么让百度收录我的网站统一网关Gateway 8.统一网关Gatewaya.搭建网关服务b.路由断言工厂c.路由过滤器GatewayFilterd.全局过滤器GlobalFiltere.过滤器的执行顺序f.网关的cors跨域配置 8.统一网关Gateway 网关功能#xff1a; 身份认证和权限校验服务路由、负载均衡请求限流 网关的技术实现 在Spr… 统一网关Gateway 8.统一网关Gatewaya.搭建网关服务b.路由断言工厂c.路由过滤器GatewayFilterd.全局过滤器GlobalFiltere.过滤器的执行顺序f.网关的cors跨域配置 8.统一网关Gateway 网关功能 身份认证和权限校验服务路由、负载均衡请求限流 网关的技术实现 在SpringCloud中网关的实现包括两种 gatewayzuul Zuul是基于Servlet的实现属于阻塞式编程。而SpringCloudGateway则是基于Spring5中提供的WebFlux属于响应式编程的实现具备更好的性能。 a.搭建网关服务 搭建网关服务的步骤 1.创建新的module引入SpringCloudGateway的依赖和nacos的服务发现依赖 !--nacos服务注册发现依赖-- dependencygroupIdcom.alibaba.cloud/groupIdartifactIdspring-cloud-starter-alibaba-nacos-discovery/artifactId /dependency !--网关gateway依赖-- dependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-gateway/artifactId /dependency2.编写路由配置及nacos地址在application.yml中编写 server:port: 10010 spring:application:name: gatewaycloud:nacos:server-addr: localhost:8848 # nacos地址gateway:routes:- id: user-service # 路由标识必须唯一uri: lb://userservice # 路由的目标地址predicates: # 路由断言判断请求是否符合规则- Path/user/** # 路径断言判断路径是否是以/user开头如果是则符合- id: order-serviceuri: lb://orderservicepredicates:- Path/order/**b.路由断言工厂 网关路由可以配置的内容包括 路由id路由唯一标示uri路由目的地支持lb和http两种predicates路由断言判断请求是否符合要求符合则转发到路由目的地filters路由过滤器处理请求或响应 路由断言工厂Route Predicate Factory 我们在配置文件中写的断言规则只是字符串这些字符串会被Predicate Factory读取并处理转变为路由判断的条件例如Path/user/**是按照路径匹配这个规则是由org.springframework.cloud.gateway.handler.predicate.PathRoutePredicateFactory类来处理的像这样的断言工厂在SpringCloudGateway还有十几个 PredicateFactory的作用是什么 读取用户定义的断言条件对请求做出判断 Path/user/**是什么含义 路径是以/user开头的就认为是符合的 c.路由过滤器GatewayFilter GatewayFilter是网关中提供的一种过滤器可以对进入网关的请求和微服务返回的响应做处理 案例给所有进入userservice的请求添加一个请求头 给所有进入userservice的请求添加一个请求头TruthABCDEFGHIJKLMN 实现方式在gateway中修改application.yml文件给userservice的路由添加过滤器 spring:cloud:gateway:routes:- id: user-service uri: lb://userservicepredicates: - Path/user/**filters: # 过滤器- AddRequestHeaderTruth, ABCDEFGHIJKLMN # 添加请求头默认过滤器 如果要对所有的路由都生效则可以将过滤器工厂写到default下。格式如下 spring:cloud:gateway:routes:- id: user-service uri: lb://userservice predicates:- Path/user/**- id: order-serviceuri: lb://orderservicepredicates:- Path/order/**- Before2031-01-20T17:42:47.789-07:00[Asia/Shanghai]default-filters: # 默认过滤器会对所有的路由请求都生效- AddRequestHeaderTruth, ABCDEFGHIJKLMN # 添加请求头需要在相应的Controller中获取请求头的参数与打印 过滤器的作用是什么 对路由的请求或响应做加工处理比如添加请求头配置在路由下的过滤器只对当前路由的请求生效 defaultFilters的作用是什么 对所有路由都生效的过滤器 d.全局过滤器GlobalFilter 全局过滤器的作用也是处理一切进入网关的请求和微服务响应与GatewayFilter的作用一样。 区别在于GatewayFilter通过配置定义处理逻辑是固定的。而GlobalFilter的逻辑需要自己写代码实现。 案例定义全局过滤器拦截并判断用户身份 需求定义全局过滤器拦截请求判断请求的参数是否满足下面条件 参数中是否有authorizationauthorization参数值是否为admin 如果同时满足则放行否则拦截 创建AuthorizeFilter方法实现GlobalFilter接口 添加Order注解或实现Ordered接口 Order(-1) Component public class AuthorizeFilter implements GlobalFilter {Overridepublic MonoVoid filter(ServerWebExchange exchange, GatewayFilterChain chain) {// 1.获取请求参数ServerHttpRequest request exchange.getRequest();MultiValueMapString, String params request.getQueryParams();// 2.获取参数中的 authorization 参数String auth params.getFirst(authorization);// 3.判断参数值是否等于 adminif (admin.equals(auth)){// 4.是放行return chain.filter(exchange);}// 5.否拦截// 5.1.设置状态码exchange.getResponse().setStatusCode(HttpStatus.UNAUTHORIZED);// 5.2.拦截请求return exchange.getResponse().setComplete();} }e.过滤器的执行顺序 请求进入网关会碰到三类过滤器当前路由的过滤器、DefaultFilter、GlobalFilter 请求路由后会将当前路由过滤器和DefaultFilter、GlobalFilter合并到一个过滤器链集合中排序后依次执行每个过滤器 每一个过滤器都必须指定一个int类型的order值order值越小优先级越高执行顺序越靠前。GlobalFilter通过实现Ordered接口或者添加Order注解来指定order值由我们自己指定路由过滤器和defaultFilter的order由Spring指定默认是按照声明顺序从1递增。当过滤器的order值一样时会按照 defaultFilter 路由过滤器 GlobalFilter的顺序执行。 f.网关的cors跨域配置 跨域问题处理 跨域域名不一致就是跨域主要包括 域名不同 www.taobao.com 和 www.taobao.org 和 www.jd.com 和 miaosha.jd.com域名相同端口不同localhost:8080和localhost8081 跨域问题浏览器禁止请求的发起者与服务端发生跨域ajax请求请求被浏览器拦截的问题 解决方案CORS 网关处理跨域采用的同样是CORS方案并且只需要简单配置即可实现 spring:cloud:gateway:globalcors: # 全局的跨域处理add-to-simple-url-handler-mapping: true # 解决options请求被拦截问题corsConfigurations:[/**]:allowedOrigins: # 允许哪些网站的跨域请求- http://localhost:8090- http://www.leyou.comallowedMethods: # 允许的跨域ajax的请求方式- GET- POST- DELETE- PUT- OPTIONSallowedHeaders: * # 允许在请求中携带的头信息allowCredentials: true # 是否允许携带cookiemaxAge: 360000 # 这次跨域检测的有效期
http://www.yutouwan.com/news/154531/

相关文章:

  • 培训网站开发机构不会网站维护可以做吗
  • 做淘宝店铺标志的网站网站建设选青岛的公司好不好
  • 光山网站建设网站建设价格就要用兴田德润
  • 如何建立一个外贸网站怎样查商标注册信息查询
  • 做咖啡网站建设部网站 规范下载
  • 网站设计公司发展学动漫制作去哪个学校
  • 视频 播放网站怎么做贵阳美容网站建设
  • 中小企业网站建设微信运营课程介绍
  • 电子商务网站开发报告怎样才能申请网站
  • 杭州网站建设第一品牌网络商城是什么意思
  • 定西谁做网站制作个人免费网站展示设计
  • 网站制作 番禺学校网站建设方案及报价
  • 项目推广方案怎么写抖音seo排名源码
  • 福建建设执业资格注册管理中心网站很多搜索词网站怎样做
  • 茶网站建设上海建筑设计院有限公司停工
  • nas可做网站服务器吗wordpress个人小说主题
  • 专业制作公司网站公司网站开发总结性报告
  • 网站源代码怎么生成网页wordpress七牛视频播放
  • 网站上传服务器后台上传资料出错余杭专业的网页制作官网
  • 大航母网站建设成都网站外包公司
  • 杭州做微信网站软件公司重庆百度开户
  • 网站建设产品展示型的苏州吴中区做网站价格
  • 小型网站搭建网站域名备案转接入手续
  • wordpress的静态数据库seo查询外链
  • 怎么找网站建设有效的网站优化
  • 国内做服装的网站有哪些医院网站建设网站
  • 网站正在建设中页面seo怎么做排名
  • 怎么让网站无法自适应创意礼品私人定制
  • 建站工作室网站源码口碑好网站建设定制
  • 成都装修网站制作多少钱网站怎么做用qq登录接入