SpringCloud-Zuul的配置都较为简单,介绍下spring-cloud-zuul常用配置.
@EnableZuulProxy
即可。 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添加了别名,方便管理!
路由转发超时配置
zuul的默认路由转发超时时间只有2s,因为它内部使用 ribbon
作负载均衡处理,所以我们需要配置ribbon的超时时间:
ribbon: ReadTimeout: 5000 SocketTimeout: 5000
敏感头配置
zuul默认过滤了所有的http header,这代表被代理的微服务将没有任何请求头,我们需要添加如下配置:
zuul: sensitive-headers:
sensitive-headers表示要被过滤的头,为空则可放行所有请求头。
过滤返回的请求头
有时候我们需要把被代理的微服务返回的请求头过滤掉(例如跨域在网关添加了,如果各微服务也添加了也将造成跨域失败,所以我们需要过滤掉):
zuul: ignored-headers: - Access-Control-Allow-Origin - Access-Control-Allow-Methods - Access-Control-Allow-Headers - Access-Control-Allow-Credentials - Access-Control-Max-Age
关注我,这里只有干货!