当前位置: 首页 > 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://wiki.neutronadmin.com/news/154531/

相关文章:

  • 网站建设的项目体会合肥卫来
  • wordpress 页面idseo技术培训
  • 衡东建设局网站接工程的app软件
  • php用户管理系统源码现在网站优化怎么做
  • 天津网站建站模板网站建设与管理就业前景
  • 商业网站是怎么做的怎么找做网站的
  • 预约网免费建站流程长沙搜搜网
  • 天津开发区建设工程管理中心网站百度推广技巧方法
  • 怎么样做微网站五华网站建设
  • 做一套公司网站费用兰州 网站建设公司哪家好
  • c 网站开发简单实例教程阿里云官方网站
  • 企业做网站电话约见客户的对话wordpress 输出豆瓣
  • 绵竹移动网站建设沭阳网站制作
  • 北京网站建设公司华网天下官网网络平台创建需要多少钱
  • 舟山网站建设开发爱站网的关键词是怎么来的
  • 长安网站建设方案WordPress会员密码查看
  • 网站被k的表现苏州优化网站公司
  • 做好网站维护管理如何建设好营销网站
  • 模块化局域网网站建设软件微商城分销系统制作
  • 深圳网站建设优化排名别人做的网站怎么打开吗
  • 建筑招聘网站哪个好深圳市有方科技有限公司
  • 美食制作网站模板免费下载自己做博客网站
  • 一个网站要多大的空间公司网站建设需要哪些设备
  • 新乡百度网站推广工具国外视觉差网站
  • 上海网站开发有限公司百度推广有哪些售后服务
  • 前端页面设计网站ppt免费下载模板网站
  • 户外媒体网站建设免费网站建设规划表
  • 国内做音乐网站做远程培训网站用什么系统
  • 服装企业网站源码河北高端建设网站
  • 安徽建站优化没有网站可以做seo排名吗