Spring Cloud RewriteLocationResponseHeader GatewayFilter工廠

2024-01-05 17:36 更新

RewriteLocationResponseHeader GatewayFilter工廠通常會修改Location響應(yīng)標(biāo)頭的值,以擺脫后端特定的詳細(xì)信息。它需要stripVersionMode,locationHeaderName,hostValueprotocolsRegex參數(shù)。

application.yml。 

spring:
  cloud:
    gateway:
      routes:
      - id: rewritelocationresponseheader_route
        uri: http://example.org
        filters:
        - RewriteLocationResponseHeader=AS_IN_REQUEST, Location, ,

例如,對于請求POST https://api.example.com/some/object/name,Location響應(yīng)標(biāo)頭值https://object-service.prod.example.net/v2/some/object/id將被重寫為https://api.example.com/some/object/id。

參數(shù)stripVersionMode具有以下可能的值:NEVER_STRIP,AS_IN_REQUEST(默認(rèn)),ALWAYS_STRIP。

  • NEVER_STRIP-即使原始請求路徑不包含版本,也不會剝離版本
  • AS_IN_REQUEST-僅當(dāng)原始請求路徑不包含版本時,版本才會被剝離
  • ALWAYS_STRIP-即使原始請求路徑包含版本,也會剝離版本

參數(shù)hostValue(如果提供)將用于替換響應(yīng)Location標(biāo)頭中的host:port部分。如果未提供,將使用Host請求標(biāo)頭的值。

參數(shù)protocolsRegex必須是有效的正則表達(dá)式String,協(xié)議名稱將與之匹配。如果不匹配,過濾器將不執(zhí)行任何操作。默認(rèn)值為http|https|ftp|ftps

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號