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


本文原創地址,我的博客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. 配置微服務路由轉發
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
  1. 敏感頭配置
    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

關注我,這裏只有乾貨!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章