HttpHeadersFilters
HttpHeadersFilters は、NettyRoutingFilter のように、リクエストを下流に送信する前に適用されます。
転送ヘッダーフィルター
Forwarded ヘッダーフィルターは、RFC 7239 [IETF] (英語) で定義されているように、下流のサービスに送信する Forwarded ヘッダーを作成します。このフィルターは、現在のリクエストの Host ヘッダー、スキーム、ポートを既存の Forwarded ヘッダーに追加します。このフィルターを有効にするには、spring.cloud.gateway.server.webmvc.trusted-proxies プロパティに Java 正規表現を設定します。この正規表現は、Forwarded ヘッダーに出現する際に信頼されるプロキシを定義します。
フィルターは次のオプションパラメーターをサポートしています。
転送された "by" パラメーター
by パラメーターは、リクエストを受信したプロキシインターフェースを識別します。これは、マルチホッププロキシ環境におけるデバッグとトレースに役立ちます。by パラメーターを有効にするには、次のプロパティを設定します。
spring.cloud.gateway.server.webmvc.forwarded-by-enabled(デフォルトはfalse)
有効にすると、フィルターはサーバーのローカルアドレスとポートを Forwarded ヘッダーに追加します。例:
Forwarded: for="192.0.2.60:47011";proto=https;host="example.com:443";by="198.51.100.17:8080"by パラメーターには、ポート番号が 0 より大きい場合にのみポート番号が含まれます。IPv6 アドレスは、括弧 で適切にフォーマットされます。 |
RemoveHopByHop ヘッダーフィルター
RemoveHopByHop ヘッダーフィルターは、転送されたリクエストからヘッダーを削除します。削除されるヘッダーのデフォルトリストは、IETF (英語) からのものです。
接続
キープアライブ
プロキシ認証
プロキシ認証
TE
トレーラー
転送エンコーディング
アップグレード
XForwarded ヘッダーフィルター
XForwarded ヘッダーフィルターは、下流のサービスに送信する様々な X-Forwarded-* ヘッダーを作成します。このフィルターは、現在のリクエストの Host ヘッダー、スキーム、ポート、パスを使用して、様々なヘッダーを作成します。このフィルターを有効にするには、spring.cloud.gateway.server.webmvc.trusted-proxies プロパティに Java 正規表現を設定します。この正規表現は、Forwarded ヘッダーに出現する際に信頼されるプロキシを定義します。
個々のヘッダーの作成は、次のブールプロパティ(デフォルトは true)によって制御できます。
spring.cloud.gateway.server.webmvc.x-forwarded.for-enabledspring.cloud.gateway.server.webmvc.x-forwarded.host-enabledspring.cloud.gateway.server.webmvc.x-forwarded.port-enabledspring.cloud.gateway.server.webmvc.x-forwarded.proto-enabledspring.cloud.gateway.server.webmvc.x-forwarded.prefix-enabled
複数のヘッダーの追加は、次のブールプロパティ(デフォルトは true)によって制御できます。
spring.cloud.gateway.server.webmvc.x-forwarded.for-appendspring.cloud.gateway.server.webmvc.x-forwarded.host-appendspring.cloud.gateway.server.webmvc.x-forwarded.port-appendspring.cloud.gateway.server.webmvc.x-forwarded.proto-appendspring.cloud.gateway.server.webmvc.x-forwarded.prefix-append