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

cover

本文原创地址,我的博客https://jsbintask.cn/2019/04/11/springcloud/springcloud-zuul-config/(食用效果最佳),转载请注明出处!

SpringCloud Zuul同系列文章:
SpringCloud-Zuul(一):技术选型及请求流程源码走读
SpringCloud-Zuul(二):自定义Filter及内部路由源码解析
SpringCloud-Zuul(三):常用配置详解

前言

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

配置详情

  1. 配置开启网关代理。
    在启动类上加上注解@EnableZuulProxy即可。
  2. 配置微服务路由转发
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    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的超时时间:

    1
    2
    3
    ribbon:
    ReadTimeout: 5000
    SocketTimeout: 5000
  2. 敏感头配置
    zuul默认过滤了所有的http header,这代表被代理的微服务将没有任何请求头,我们需要添加如下配置:

    1
    2
    zuul:
    sensitive-headers:

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

  1. 过滤返回的请求头
    有时候我们需要把被代理的微服务返回的请求头过滤掉(例如跨域在网关添加了,如果各微服务也添加了也将造成跨域失败,所以我们需要过滤掉):
    1
    2
    3
    4
    5
    6
    7
    zuul:
    ignored-headers:
    - Access-Control-Allow-Origin
    - Access-Control-Allow-Methods
    - Access-Control-Allow-Headers
    - Access-Control-Allow-Credentials
    - Access-Control-Max-Age

关注我,这里只有干货!

×

谢谢你支持我分享知识

扫码支持
扫码打赏,心意已收

打开微信扫一扫,即可进行扫码打赏哦

文章目录
  1. 1. 前言
  2. 2. 配置详情
欢迎扫描左方二维码跟作者交流.