常见应用程序属性
可以在 `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 类名 |
|
|
|
|