常見應用程式屬性
可以在 `application.properties` 檔案、`application.yml` 檔案中或作為命令列開關指定各種屬性。本附錄列出了常見的 Spring Cloud Gateway 屬性以及引用這些屬性的底層類。
屬性貢獻可能來自 classpath 中的其他 jar 檔案,因此不應將此列表視為詳盡列表。此外,您可以定義自己的屬性。 |
名稱 | 預設值 | 描述 |
---|---|---|
spring.cloud.gateway.default-filters |
應用於每個路由的過濾器定義列表。 |
|
spring.cloud.gateway.discovery.locator.enabled |
|
啟用 DiscoveryClient 閘道器整合的標誌。 |
spring.cloud.gateway.discovery.locator.filters |
||
spring.cloud.gateway.discovery.locator.include-expression |
|
用於評估是否將服務包含在閘道器整合中的 SpEL 表示式,預設為:true。 |
spring.cloud.gateway.discovery.locator.lower-case-service-id |
|
將 predicates 和 filters 中的 serviceId 轉換為小寫的選項,預設為 false。在使用 eureka 時很有用,因為它會自動將 serviceId 轉換為大寫。因此 MYSERIVCE 會匹配 /myservice/** |
spring.cloud.gateway.discovery.locator.predicates |
||
spring.cloud.gateway.discovery.locator.route-id-prefix |
routeId 的字首,預設為 discoveryClient.getClass().getSimpleName() + "_"。服務 ID 將被附加以建立 routeId。 |
|
spring.cloud.gateway.discovery.locator.url-expression |
|
建立每個路由 URI 的 SpEL 表示式,預設為:'lb://'+serviceId。 |
spring.cloud.gateway.enabled |
|
啟用閘道器功能。 |
spring.cloud.gateway.fail-on-route-definition-error |
|
在路由定義錯誤時失敗的選項,預設為 true。否則,會記錄警告。 |
spring.cloud.gateway.filter.add-request-header.enabled |
|
啟用 add-request-header 過濾器。 |
spring.cloud.gateway.filter.add-request-parameter.enabled |
|
啟用 add-request-parameter 過濾器。 |
spring.cloud.gateway.filter.add-response-header.enabled |
|
啟用 add-response-header 過濾器。 |
spring.cloud.gateway.filter.circuit-breaker.enabled |
|
啟用 circuit-breaker 過濾器。 |
spring.cloud.gateway.filter.dedupe-response-header.enabled |
|
啟用 dedupe-response-header 過濾器。 |
spring.cloud.gateway.filter.fallback-headers.enabled |
|
啟用 fallback-headers 過濾器。 |
spring.cloud.gateway.filter.hystrix.enabled |
|
啟用 hystrix 過濾器。 |
spring.cloud.gateway.filter.json-to-grpc.enabled |
|
啟用 JSON 到 gRPC 過濾器。 |
spring.cloud.gateway.filter.local-response-cache.enabled |
|
啟用 local-response-cache 過濾器。 |
spring.cloud.gateway.filter.local-response-cache.request.no-cache-strategy |
|
|
spring.cloud.gateway.filter.local-response-cache.size |
該路由快取的最大大小,用於逐出條目(以 KB、MB 和 GB 為單位)。 |
|
spring.cloud.gateway.filter.local-response-cache.time-to-live |
|
快取條目的過期時間(以 s 代表秒,m 代表分鐘,h 代表小時)。 |
spring.cloud.gateway.filter.map-request-header.enabled |
|
啟用 map-request-header 過濾器。 |
spring.cloud.gateway.filter.modify-request-body.enabled |
|
啟用 modify-request-body 過濾器。 |
spring.cloud.gateway.filter.modify-response-body.enabled |
|
啟用 modify-response-body 過濾器。 |
spring.cloud.gateway.filter.prefix-path.enabled |
|
啟用 prefix-path 過濾器。 |
spring.cloud.gateway.filter.preserve-host-header.enabled |
|
啟用 preserve-host-header 過濾器。 |
spring.cloud.gateway.filter.redirect-to.enabled |
|
啟用 redirect-to 過濾器。 |
spring.cloud.gateway.filter.remove-hop-by-hop.headers |
||
spring.cloud.gateway.filter.remove-hop-by-hop.order |
|
|
spring.cloud.gateway.filter.remove-request-header.enabled |
|
啟用 remove-request-header 過濾器。 |
spring.cloud.gateway.filter.remove-request-parameter.enabled |
|
啟用 remove-request-parameter 過濾器。 |
spring.cloud.gateway.filter.remove-response-header.enabled |
|
啟用 remove-response-header 過濾器。 |
spring.cloud.gateway.filter.request-header-size.enabled |
|
啟用 request-header-size 過濾器。 |
spring.cloud.gateway.filter.request-header-to-request-uri.enabled |
|
啟用 request-header-to-request-uri 過濾器。 |
spring.cloud.gateway.filter.request-rate-limiter.default-key-resolver |
||
spring.cloud.gateway.filter.request-rate-limiter.default-rate-limiter |
||
spring.cloud.gateway.filter.request-rate-limiter.enabled |
|
啟用 request-rate-limiter 過濾器。 |
spring.cloud.gateway.filter.request-size.enabled |
|
啟用 request-size 過濾器。 |
spring.cloud.gateway.filter.retry.enabled |
|
啟用 retry 過濾器。 |
spring.cloud.gateway.filter.rewrite-location-response-header.enabled |
|
啟用 rewrite-location-response-header 過濾器。 |
spring.cloud.gateway.filter.rewrite-location.enabled |
|
啟用 rewrite-location 過濾器。 |
spring.cloud.gateway.filter.rewrite-path.enabled |
|
啟用 rewrite-path 過濾器。 |
spring.cloud.gateway.filter.rewrite-request-parameter.enabled |
|
啟用 rewrite-request-parameter 過濾器。 |
spring.cloud.gateway.filter.rewrite-response-header.enabled |
|
啟用 rewrite-response-header 過濾器。 |
spring.cloud.gateway.filter.save-session.enabled |
|
啟用 save-session 過濾器。 |
spring.cloud.gateway.filter.secure-headers.content-security-policy |
|
|
spring.cloud.gateway.filter.secure-headers.content-type-options |
|
|
spring.cloud.gateway.filter.secure-headers.disable |
||
spring.cloud.gateway.filter.secure-headers.download-options |
|
|
spring.cloud.gateway.filter.secure-headers.enabled |
|
啟用 secure-headers 過濾器。 |
spring.cloud.gateway.filter.secure-headers.frame-options |
|
|
spring.cloud.gateway.filter.secure-headers.permitted-cross-domain-policies |
|
|
spring.cloud.gateway.filter.secure-headers.referrer-policy |
|
|
spring.cloud.gateway.filter.secure-headers.strict-transport-security |
|
|
spring.cloud.gateway.filter.secure-headers.xss-protection-header |
|
|
spring.cloud.gateway.filter.set-path.enabled |
|
啟用 set-path 過濾器。 |
spring.cloud.gateway.filter.set-request-header.enabled |
|
啟用 set-request-header 過濾器。 |
spring.cloud.gateway.filter.set-request-host-header.enabled |
|
啟用 set-request-host-header 過濾器。 |
spring.cloud.gateway.filter.set-response-header.enabled |
|
啟用 set-response-header 過濾器。 |
spring.cloud.gateway.filter.set-status.enabled |
|
啟用 set-status 過濾器。 |
spring.cloud.gateway.filter.strip-prefix.enabled |
|
啟用 strip-prefix 過濾器。 |
spring.cloud.gateway.forwarded.enabled |
|
啟用 ForwardedHeadersFilter。 |
spring.cloud.gateway.global-filter.adapt-cached-body.enabled |
|
啟用 adapt-cached-body 全域性過濾器。 |
spring.cloud.gateway.global-filter.forward-path.enabled |
|
啟用 forward-path 全域性過濾器。 |
spring.cloud.gateway.global-filter.forward-routing.enabled |
|
啟用 forward-routing 全域性過濾器。 |
spring.cloud.gateway.global-filter.load-balancer-client.enabled |
|
啟用 load-balancer-client 全域性過濾器。 |
spring.cloud.gateway.global-filter.local-response-cache.enabled |
|
為所有路由啟用 local-response-cache 過濾器,允許使用 LocalResponseCache 過濾器在路由級別新增特定配置。 |
spring.cloud.gateway.global-filter.netty-routing.enabled |
|
啟用 netty-routing 全域性過濾器。 |
spring.cloud.gateway.global-filter.netty-write-response.enabled |
|
啟用 netty-write-response 全域性過濾器。 |
spring.cloud.gateway.global-filter.reactive-load-balancer-client.enabled |
|
啟用 reactive-load-balancer-client 全域性過濾器。 |
spring.cloud.gateway.global-filter.remove-cached-body.enabled |
|
啟用 remove-cached-body 全域性過濾器。 |
spring.cloud.gateway.global-filter.route-to-request-url.enabled |
|
啟用 route-to-request-url 全域性過濾器。 |
spring.cloud.gateway.global-filter.websocket-routing.enabled |
|
啟用 websocket-routing 全域性過濾器。 |
spring.cloud.gateway.globalcors.add-to-simple-url-handler-mapping |
|
全域性 CORS 配置是否應新增到 URL 處理器。 |
spring.cloud.gateway.globalcors.cors-configurations |
||
spring.cloud.gateway.handler-mapping.order |
|
RoutePredicateHandlerMapping 的順序。 |
spring.cloud.gateway.httpclient.compression |
|
為 Netty HttpClient 啟用壓縮。 |
spring.cloud.gateway.httpclient.connect-timeout |
連線超時時間(毫秒),預設為 30 秒。 |
|
spring.cloud.gateway.httpclient.max-header-size |
最大響應頭大小。 |
|
spring.cloud.gateway.httpclient.max-initial-line-length |
最大初始行長度。 |
|
spring.cloud.gateway.httpclient.pool.acquire-timeout |
僅適用於 FIXED 型別,等待獲取連線的最大時間(毫秒)。 |
|
spring.cloud.gateway.httpclient.pool.eviction-interval |
|
在指定的時間間隔內定期在後臺執行逐出檢查。預設停用 ({@link Duration#ZERO}) |
spring.cloud.gateway.httpclient.pool.leasing-strategy |
|
配置池的租賃策略(fifo 或 lifo),預設為 FIFO,這是 Netty 的預設設定。 |
spring.cloud.gateway.httpclient.pool.max-connections |
僅適用於 FIXED 型別,在現有連線上開始掛起獲取之前的最大連線數。 |
|
spring.cloud.gateway.httpclient.pool.max-idle-time |
通道在此時間(毫秒)後將被關閉。如果為 NULL,則沒有最大空閒時間。 |
|
spring.cloud.gateway.httpclient.pool.max-life-time |
通道在此持續時間後將被關閉。如果為 NULL,則沒有最大生命週期。 |
|
spring.cloud.gateway.httpclient.pool.metrics |
|
啟用通道池指標收集並在 Micrometer 中註冊。預設停用。 |
spring.cloud.gateway.httpclient.pool.name |
|
通道池對映名稱,預設為 proxy。 |
spring.cloud.gateway.httpclient.pool.type |
|
HttpClient 使用的池型別(elastic、fixed 或 disabled)。 |
spring.cloud.gateway.httpclient.proxy.host |
Netty HttpClient 代理配置的主機名。 |
|
spring.cloud.gateway.httpclient.proxy.non-proxy-hosts-pattern |
配置主機列表的正則表示式(Java)。這些主機應直接訪問,繞過代理 |
|
spring.cloud.gateway.httpclient.proxy.password |
Netty HttpClient 代理配置的密碼。 |
|
spring.cloud.gateway.httpclient.proxy.port |
Netty HttpClient 代理配置的埠。 |
|
spring.cloud.gateway.httpclient.proxy.type |
|
Netty HttpClient 代理配置的代理型別 (http, socks4 或 socks5)。 |
spring.cloud.gateway.httpclient.proxy.username |
Netty HttpClient 代理配置的使用者名稱。 |
|
spring.cloud.gateway.httpclient.response-timeout |
響應超時時間。 |
|
spring.cloud.gateway.httpclient.ssl.close-notify-flush-timeout |
|
SSL close_notify flush 超時時間。預設為 3000 毫秒。 |
spring.cloud.gateway.httpclient.ssl.close-notify-read-timeout |
|
SSL close_notify read 超時時間。預設為 0 毫秒。 |
spring.cloud.gateway.httpclient.ssl.handshake-timeout |
|
SSL 握手超時時間。預設為 10000 毫秒 |
spring.cloud.gateway.httpclient.ssl.key-password |
金鑰密碼,預設為 keyStorePassword。 |
|
spring.cloud.gateway.httpclient.ssl.key-store |
Netty HttpClient 的金鑰庫路徑。 |
|
spring.cloud.gateway.httpclient.ssl.key-store-password |
金鑰庫密碼。 |
|
spring.cloud.gateway.httpclient.ssl.key-store-provider |
Netty HttpClient 的金鑰庫提供程式,可選欄位。 |
|
spring.cloud.gateway.httpclient.ssl.key-store-type |
|
Netty HttpClient 的金鑰庫型別,預設為 JKS。 |
spring.cloud.gateway.httpclient.ssl.ssl-bundle |
要使用的 SSL 捆綁包名稱。 |
|
spring.cloud.gateway.httpclient.ssl.trusted-x509-certificates |
用於驗證遠端端點證書的可信證書。 |
|
spring.cloud.gateway.httpclient.ssl.use-insecure-trust-manager |
|
安裝 netty InsecureTrustManagerFactory。這是不安全的,不適用於生產環境。 |
spring.cloud.gateway.httpclient.websocket.max-frame-payload-length |
最大幀負載長度。 |
|
spring.cloud.gateway.httpclient.websocket.proxy-ping |
|
將 ping 幀代理到下游服務,預設為 true。 |
spring.cloud.gateway.httpclient.wiretap |
|
為 Netty HttpClient 啟用 wiretap 除錯。 |
spring.cloud.gateway.httpserver.wiretap |
|
為 Netty HttpServer 啟用 wiretap 除錯。 |
spring.cloud.gateway.loadbalancer.use404 |
|
|
spring.cloud.gateway.metrics.enabled |
|
啟用指標資料收集。 |
spring.cloud.gateway.metrics.prefix |
|
閘道器發出的所有指標的字首。 |
spring.cloud.gateway.metrics.tags |
新增到指標中的標籤對映。 |
|
spring.cloud.gateway.mvc.form-filter.enabled |
|
啟用 form-filter。 |
spring.cloud.gateway.mvc.forwarded-request-headers-filter.enabled |
|
啟用 forwarded-request-headers-filter。 |
spring.cloud.gateway.mvc.http-client.connect-timeout |
HttpClient 連線超時時間。 |
|
spring.cloud.gateway.mvc.http-client.read-timeout |
HttpClient 讀取超時時間。 |
|
spring.cloud.gateway.mvc.http-client.ssl-bundle |
要使用的 SSL 捆綁包名稱。 |
|
spring.cloud.gateway.mvc.http-client.type |
|
HttpClient 型別。預設為 JDK。 |
spring.cloud.gateway.mvc.remove-content-length-request-headers-filter.enabled |
|
啟用 remove-content-length-request-headers-filter。 |
spring.cloud.gateway.mvc.remove-hop-by-hop-request-headers-filter.enabled |
|
啟用 forwarded-request-headers-filter。 |
spring.cloud.gateway.mvc.remove-hop-by-hop-response-headers-filter.enabled |
|
啟用 forwarded-request-headers-filter。 |
spring.cloud.gateway.mvc.routes |
路由列表。 |
|
spring.cloud.gateway.mvc.routes-map |
路由對映。 |
|
spring.cloud.gateway.mvc.streaming-buffer-size |
|
流媒體 mime-type 的緩衝區大小。 |
spring.cloud.gateway.mvc.streaming-media-types |
流媒體的 mime-type。 |
|
spring.cloud.gateway.mvc.transfer-encoding-normalization-request-headers-filter.enabled |
|
啟用 transfer-encoding-normalization-request-headers-filter。 |
spring.cloud.gateway.mvc.weight-calculator-filter.enabled |
|
啟用 weight-calculator-filter。 |
spring.cloud.gateway.mvc.x-forwarded-request-headers-filter.enabled |
|
是否啟用 XForwardedHeadersFilter。 |
spring.cloud.gateway.mvc.x-forwarded-request-headers-filter.for-append |
|
是否啟用將 X-Forwarded-For 作為列表附加。 |
spring.cloud.gateway.mvc.x-forwarded-request-headers-filter.for-enabled |
|
是否啟用 X-Forwarded-For。 |
spring.cloud.gateway.mvc.x-forwarded-request-headers-filter.host-append |
|
是否啟用將 X-Forwarded-Host 作為列表附加。 |
spring.cloud.gateway.mvc.x-forwarded-request-headers-filter.host-enabled |
|
是否啟用 X-Forwarded-Host。 |
spring.cloud.gateway.mvc.x-forwarded-request-headers-filter.order |
|
XForwardedHeadersFilter 的順序。 |
spring.cloud.gateway.mvc.x-forwarded-request-headers-filter.port-append |
|
是否啟用將 X-Forwarded-Port 作為列表附加。 |
spring.cloud.gateway.mvc.x-forwarded-request-headers-filter.port-enabled |
|
是否啟用 X-Forwarded-Port。 |
spring.cloud.gateway.mvc.x-forwarded-request-headers-filter.prefix-append |
|
是否啟用將 X-Forwarded-Prefix 作為列表附加。 |
spring.cloud.gateway.mvc.x-forwarded-request-headers-filter.prefix-enabled |
|
是否啟用 X-Forwarded-Prefix。 |
spring.cloud.gateway.mvc.x-forwarded-request-headers-filter.proto-append |
|
是否啟用將 X-Forwarded-Proto 作為列表附加。 |
spring.cloud.gateway.mvc.x-forwarded-request-headers-filter.proto-enabled |
|
是否啟用 X-Forwarded-Proto。 |
spring.cloud.gateway.observability.enabled |
|
是否應啟用 Micrometer Observability 支援。 |
spring.cloud.gateway.predicate.after.enabled |
|
啟用 after 斷言。 |
spring.cloud.gateway.predicate.before.enabled |
|
啟用 before 斷言。 |
spring.cloud.gateway.predicate.between.enabled |
|
啟用 between 斷言。 |
spring.cloud.gateway.predicate.cloud-foundry-route-service.enabled |
|
啟用 cloud-foundry-route-service 斷言。 |
spring.cloud.gateway.predicate.cookie.enabled |
|
啟用 cookie 斷言。 |
spring.cloud.gateway.predicate.header.enabled |
|
啟用 header 斷言。 |
spring.cloud.gateway.predicate.host.enabled |
|
啟用 host 斷言。 |
spring.cloud.gateway.predicate.host.include-port |
|
匹配主機名時是否包含埠。 |
spring.cloud.gateway.predicate.method.enabled |
|
啟用 method 斷言。 |
spring.cloud.gateway.predicate.path.enabled |
|
啟用 path 斷言。 |
spring.cloud.gateway.predicate.query.enabled |
|
啟用 query 斷言。 |
spring.cloud.gateway.predicate.read-body.enabled |
|
啟用 read-body 斷言。 |
spring.cloud.gateway.predicate.remote-addr.enabled |
|
啟用 remote-addr 斷言。 |
spring.cloud.gateway.predicate.weight.enabled |
|
啟用 weight 斷言。 |
spring.cloud.gateway.predicate.xforwarded-remote-addr.enabled |
|
啟用 xforwarded-remote-addr 斷言。 |
spring.cloud.gateway.redis-rate-limiter.burst-capacity-header |
|
返回突發容量配置的頭部名稱。 |
spring.cloud.gateway.redis-rate-limiter.config |
||
spring.cloud.gateway.redis-rate-limiter.include-headers |
|
是否包含包含限速器資訊的頭部,預設為 true。 |
spring.cloud.gateway.redis-rate-limiter.remaining-header |
|
返回當前秒內剩餘請求數的頭部名稱。 |
spring.cloud.gateway.redis-rate-limiter.replenish-rate-header |
|
返回補充速率配置的頭部名稱。 |
spring.cloud.gateway.redis-rate-limiter.requested-tokens-header |
|
返回請求令牌配置的頭部名稱。 |
spring.cloud.gateway.redis-route-definition-repository.enabled |
|
是否應啟用 RedisRouteDefinitionRepository。 |
spring.cloud.gateway.restrictive-property-accessor.enabled |
|
限制 SpEL 中的方法和屬性訪問。 |
spring.cloud.gateway.route-filter-cache-enabled |
|
啟用路由過濾器快取,預設為 false。 |
spring.cloud.gateway.route-refresh-listener.enabled |
|
是否應開啟 RouteRefreshListener。 |
spring.cloud.gateway.routes |
路由列表。 |
|
spring.cloud.gateway.set-status.original-status-header-name |
包含代理請求 HTTP 狀態碼的頭部名稱。 |
|
spring.cloud.gateway.streaming-media-types |
||
spring.cloud.gateway.x-forwarded.enabled |
|
是否啟用 XForwardedHeadersFilter。 |
spring.cloud.gateway.x-forwarded.for-append |
|
是否啟用將 X-Forwarded-For 作為列表附加。 |
spring.cloud.gateway.x-forwarded.for-enabled |
|
是否啟用 X-Forwarded-For。 |
spring.cloud.gateway.x-forwarded.host-append |
|
是否啟用將 X-Forwarded-Host 作為列表附加。 |
spring.cloud.gateway.x-forwarded.host-enabled |
|
是否啟用 X-Forwarded-Host。 |
spring.cloud.gateway.x-forwarded.order |
|
XForwardedHeadersFilter 的順序。 |
spring.cloud.gateway.x-forwarded.port-append |
|
是否啟用將 X-Forwarded-Port 作為列表附加。 |
spring.cloud.gateway.x-forwarded.port-enabled |
|
是否啟用 X-Forwarded-Port。 |
spring.cloud.gateway.x-forwarded.prefix-append |
|
是否啟用將 X-Forwarded-Prefix 作為列表附加。 |
spring.cloud.gateway.x-forwarded.prefix-enabled |
|
是否啟用 X-Forwarded-Prefix。 |
spring.cloud.gateway.x-forwarded.proto-append |
|
是否啟用將 X-Forwarded-Proto 作為列表附加。 |
spring.cloud.gateway.x-forwarded.proto-enabled |
|
是否啟用 X-Forwarded-Proto。 |
可觀察性元資料
可觀察性 - 指標
下方列出了本專案宣告的所有指標。
閘道器 HTTP 客戶端可觀察性
透過閘道器傳送請求時建立的可觀察性。
指標名稱 `http.client.requests` (由約定類 `org.springframework.cloud.gateway.filter.headers.observation.DefaultGatewayObservationConvention` 定義)。型別 `timer`。
指標名稱 `http.client.requests.active` (由約定類 `org.springframework.cloud.gateway.filter.headers.observation.DefaultGatewayObservationConvention` 定義)。型別 `long task timer`。
在啟動可觀察性後新增的 KeyValues 可能不會出現在 *.active 指標中。 |
Micrometer 內部使用 `nanoseconds` 作為基本單位。但是,實際的基本單位由每個後端確定。(例如 Prometheus 使用秒) |
包含類 `org.springframework.cloud.gateway.filter.headers.observation.GatewayDocumentedObservation` 的完全限定名稱。
名稱 |
描述 |
`http.method` (必需) |
HTTP 方法。 |
`http.status_code` (必需) |
HTTP 狀態碼。 |
`spring.cloud.gateway.route.id` (必需) |
路由 ID。 |
`spring.cloud.gateway.route.uri` (必需) |
從路由獲取的 HTTP URI。 |
名稱 |
描述 |
`http.uri` (必需) |
完整 HTTP URI。 |
可觀察性 - Span
下方列出了本專案宣告的所有 span。
閘道器 HTTP 客戶端可觀察性 Span
透過閘道器傳送請求時建立的可觀察性。
Span 名稱 `http.client.requests` (由約定類 `org.springframework.cloud.gateway.filter.headers.observation.DefaultGatewayObservationConvention` 定義)。
包含類 `org.springframework.cloud.gateway.filter.headers.observation.GatewayDocumentedObservation` 的完全限定名稱。
名稱 |
描述 |
`http.method` (必需) |
HTTP 方法。 |
`http.status_code` (必需) |
HTTP 狀態碼。 |
`http.uri` (必需) |
完整 HTTP URI。 |
`spring.cloud.gateway.route.id` (必需) |
路由 ID。 |
`spring.cloud.gateway.route.uri` (必需) |
從路由獲取的 HTTP URI。 |
可觀察性 - 約定
下方列出了本專案宣告的所有 `GlobalObservationConvention` 和 `ObservationConvention`。
ObservationConvention 類名 |
適用的 ObservationContext 類名 |
|
|
|
|