转载

SpringCloud-Zuul(三):常用配置详解

SpringCloud-Zuul的配置都较为简单,介绍下spring-cloud-zuul常用配置.

配置详情

  1. 配置开启网关代理。
    在启动类上加上注解 @EnableZuulProxy 即可。
  2. 配置微服务路由转发
    zuul:
      prefix: /api
      routes:
        a:
          path: /a/**
          service-id: service-a
    
        b:
          path: /b/**
          service-id: service-b
    

service-id为微服务在注册中心的名称。 prefix为访问所有api都需要加上的前缀。a,b为每个服务的映射(可以随便写),例如现在a服务有一个controller: /user/{userId},那么经过网关映射后的全路径为: /api/a/user/{userId} ,这相当于给所有服务的api添加了别名,方便管理!

  1. 路由转发超时配置

    zuul的默认路由转发超时时间只有2s,因为它内部使用 ribbon 作负载均衡处理,所以我们需要配置ribbon的超时时间:

    ribbon:
      ReadTimeout: 5000
      SocketTimeout: 5000
    
  2. 敏感头配置

    zuul默认过滤了所有的http header,这代表被代理的微服务将没有任何请求头,我们需要添加如下配置:

    zuul:
      sensitive-headers:
    

sensitive-headers表示要被过滤的头,为空则可放行所有请求头。

  1. 过滤返回的请求头

    有时候我们需要把被代理的微服务返回的请求头过滤掉(例如跨域在网关添加了,如果各微服务也添加了也将造成跨域失败,所以我们需要过滤掉):

    zuul:
      ignored-headers:
        - Access-Control-Allow-Origin
        - Access-Control-Allow-Methods
        - Access-Control-Allow-Headers
        - Access-Control-Allow-Credentials
        - Access-Control-Max-Age
    

关注我,这里只有干货!

原文  https://jsbintask.cn/2019/04/11/springcloud/springcloud-zuul-config/
正文到此结束
Loading...