RewriteLocationResponseHeader GatewayFilter ファクトリ

RewriteLocationResponseHeader GatewayFilter ファクトリは、Location レスポンスヘッダーの値を変更し、通常はバックエンド固有の詳細を取り除きます。ModelocationHeaderNamehostValueprotocols パラメーターを取ります。次のリストでは、RewriteLocationResponseHeader GatewayFilter を構成しています。

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

例: POST api.example.com/some/object/name (英語) のリクエストの場合、object-service.prod.example.net/v2/some/object/id (英語)  の Location レスポンスヘッダー値は api.example.com/some/object/id (英語) として書き換えられます。

Mode パラメーターには、次の可能な値があります: NEVER_STRIPAS_IN_REQUEST (デフォルト)、ALWAYS_STRIP

  • NEVER_STRIP: 元のリクエストパスにバージョンが含まれていない場合でも、バージョンは削除されません。

  • AS_IN_REQUEST: バージョンは、元のリクエストパスにバージョンが含まれていない場合にのみ削除されます。

  • ALWAYS_STRIP: 元のリクエストパスにバージョンが含まれている場合でも、バージョンは常に削除されます。

hostValue パラメーターが指定されている場合は、レスポンス Location ヘッダーの host:port 部分を置き換えるために使用されます。指定されていない場合は、Host リクエストヘッダーの値が使用されます。

protocols パラメーターは、プロトコル名が一致する有効な正規表現 String である必要があります。一致しない場合、フィルターは何もしません。デフォルトは https?|ftps? です。