HttpHeadersFilters
HttpHeadersFilters 在請求被髮送到下游(例如在 NettyRoutingFilter 中)之前應用。
Forwarded Headers Filter
Forwarded 頭部過濾器建立一個 Forwarded 頭部,用於傳送到下游服務。它將當前請求的 Host 頭部、方案和埠新增到任何現有的 Forwarded 頭部中。要啟用此過濾器,請將 spring.cloud.gateway.server.webflux.trusted-proxies 屬性設定為 Java 正則表示式。此正則表示式定義了在 Forwarded 頭部中出現的受信任代理。
可以透過將以下屬性設定為 true(預設為 false)來啟用 Forwarded by 頭部部分:
-
spring.cloud.gateway.server.webflux.forwarded.by.enabled=true
RemoveHopByHop Headers Filter
RemoveHopByHop 頭部過濾器從轉發請求中移除頭部。預設移除的頭部列表來自 IETF。
-
Connection
-
Keep-Alive
-
Proxy-Authenticate
-
Proxy-Authorization
-
TE
-
Trailer
-
Transfer-Encoding
-
Upgrade
要更改此設定,請將 spring.cloud.gateway.server.webflux.filter.remove-hop-by-hop.headers 屬性設定為要移除的頭部名稱列表。
XForwarded Headers Filter
XForwarded 頭部過濾器建立各種 X-Forwarded-* 頭部,用於傳送到下游服務。它使用當前請求的 Host 頭部、方案、埠和路徑來建立各種頭部。要啟用此過濾器,請將 spring.cloud.gateway.server.webflux.trusted-proxies 屬性設定為 Java 正則表示式。此正則表示式定義了在 Forwarded 頭部中出現的受信任代理。
可以透過以下布林屬性(預設為 true)控制單個頭部的建立:
-
spring.cloud.gateway.server.webflux.x-forwarded.for-enabled -
spring.cloud.gateway.server.webflux.x-forwarded.host-enabled -
spring.cloud.gateway.server.webflux.x-forwarded.port-enabled -
spring.cloud.gateway.server.webflux.x-forwarded.proto-enabled -
spring.cloud.gateway.server.webflux.x-forwarded.prefix-enabled
可以透過以下布林屬性(預設為 true)控制多個頭部的追加:
-
spring.cloud.gateway.server.webflux.x-forwarded.for-append -
spring.cloud.gateway.server.webflux.x-forwarded.host-append -
spring.cloud.gateway.server.webflux.x-forwarded.port-append -
spring.cloud.gateway.server.webflux.x-forwarded.proto-append -
spring.cloud.gateway.server.webflux.x-forwarded.prefix-append