跳到主要内容

常见应用属性

DeepSeek V3 中英对照 Common application properties

可以在你的 application.properties 文件、application.yml 文件中指定各种属性,或者作为命令行开关。本附录提供了一个常见的 Spring Cloud Gateway 属性列表,并引用了使用这些属性的底层类。

备注

属性贡献可以来自类路径上的额外 jar 文件,因此你不应将其视为一个详尽的列表。此外,你还可以定义自己的属性。

名称默认描述
spring.cloud.gateway.default-filters应用于每个路由的过滤器定义列表。
spring.cloud.gateway.discovery.locator.enabledfalse启用 DiscoveryClient 网关集成的标志。
spring.cloud.gateway.discovery.locator.filters
spring.cloud.gateway.discovery.locator.include-expressiontrue用于评估是否在网关集成中包含服务的 SpEL 表达式,默认为:true
spring.cloud.gateway.discovery.locator.lower-case-service-idfalse在谓词和过滤器中将 serviceId 转换为小写的选项,默认为 false。当 Eureka 自动将 serviceId 转换为大写时,此选项非常有用。例如,MYSERVICE 将匹配 /myservice/**
spring.cloud.gateway.discovery.locator.predicates
spring.cloud.gateway.discovery.locator.route-id-prefix路由 ID 的前缀,默认为 discoveryClient.getClass().getSimpleName() + "_"。服务 ID 将会附加到前缀后以创建路由 ID。
spring.cloud.gateway.discovery.locator.url-expression'lb://'+serviceId创建每个路由的 URI 的 SpEL 表达式,默认为:'lb://'+serviceId
spring.cloud.gateway.enabledtrue启用网关功能。
spring.cloud.gateway.fail-on-route-definition-errortrue在路由定义错误时失败的选项,默认为 true。否则,将记录一个警告。
spring.cloud.gateway.filter.add-request-header.enabledtrue启用 add-request-header 过滤器。
spring.cloud.gateway.filter.add-request-parameter.enabledtrue启用 add-request-parameter 过滤器。
spring.cloud.gateway.filter.add-response-header.enabledtrue启用 add-response-header 过滤器。
spring.cloud.gateway.filter.circuit-breaker.enabledtrue启用断路器过滤器。
spring.cloud.gateway.filter.dedupe-response-header.enabledtrue启用 dedupe-response-header 过滤器。
spring.cloud.gateway.filter.fallback-headers.enabledtrue启用 fallback-headers 过滤器。
spring.cloud.gateway.filter.hystrix.enabledtrue启用 hystrix 过滤器。
spring.cloud.gateway.filter.json-to-grpc.enabledtrue启用 JSON 到 gRPC 过滤器。
spring.cloud.gateway.filter.local-response-cache.enabledfalse启用本地响应缓存过滤器。
spring.cloud.gateway.filter.local-response-cache.request.no-cache-strategyskip-update-cache-entry
spring.cloud.gateway.filter.local-response-cache.size此路由的缓存最大大小,用于清除条目(以 KB、MB 和 GB 为单位)。
spring.cloud.gateway.filter.local-response-cache.time-to-live5m缓存条目的过期时间(以 s 表示秒,m 表示分钟,h 表示小时)。
spring.cloud.gateway.filter.map-request-header.enabledtrue启用 map-request-header 过滤器。
spring.cloud.gateway.filter.modify-request-body.enabledtrue启用修改请求体过滤器。
spring.cloud.gateway.filter.modify-response-body.enabledtrue启用修改响应体过滤器。
spring.cloud.gateway.filter.prefix-path.enabledtrue启用前缀路径过滤器。
spring.cloud.gateway.filter.preserve-host-header.enabledtrue启用 preserve-host-header 过滤器。
spring.cloud.gateway.filter.redirect-to.enabledtrue启用重定向过滤器。
spring.cloud.gateway.filter.remove-hop-by-hop.headers
spring.cloud.gateway.filter.remove-hop-by-hop.order0
spring.cloud.gateway.filter.remove-request-header.enabledtrue启用 remove-request-header 过滤器。
spring.cloud.gateway.filter.remove-request-parameter.enabledtrue启用 remove-request-parameter 过滤器。
spring.cloud.gateway.filter.remove-response-header.enabledtrue启用 remove-response-header 过滤器。
spring.cloud.gateway.filter.request-header-size.enabledtrue启用请求头大小过滤器。
spring.cloud.gateway.filter.request-header-to-request-uri.enabledtrue启用请求头到请求 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.enabledtrue启用请求速率限制器过滤器。
spring.cloud.gateway.filter.request-size.enabledtrue启用请求大小过滤器。
spring.cloud.gateway.filter.retry.enabledtrue启用重试过滤器。
spring.cloud.gateway.filter.rewrite-location-response-header.enabledtrue启用 rewrite-location-response-header 过滤器。
spring.cloud.gateway.filter.rewrite-location.enabledtrue启用重写位置过滤器。
spring.cloud.gateway.filter.rewrite-path.enabledtrue启用重写路径过滤器。
spring.cloud.gateway.filter.rewrite-request-parameter.enabledtrue启用重写请求参数过滤器。
spring.cloud.gateway.filter.rewrite-response-header.enabledtrue启用 rewrite-response-header 过滤器。
spring.cloud.gateway.filter.save-session.enabledtrue启用保存会话过滤器。
spring.cloud.gateway.filter.secure-headers.content-security-policydefault-src 'self' https:; font-src 'self' https: data:; img-src 'self' https: data:; object-src 'none'; script-src https:; style-src 'self' https: 'unsafe-inline'
spring.cloud.gateway.filter.secure-headers.content-type-optionsnosniff
spring.cloud.gateway.filter.secure-headers.disable
spring.cloud.gateway.filter.secure-headers.download-optionsnoopen
spring.cloud.gateway.filter.secure-headers.enabledtrue启用安全头过滤器。
spring.cloud.gateway.filter.secure-headers.frame-optionsDENY
spring.cloud.gateway.filter.secure-headers.permitted-cross-domain-policiesnone
spring.cloud.gateway.filter.secure-headers.referrer-policyno-referrer
spring.cloud.gateway.filter.secure-headers.strict-transport-securitymax-age=631138519
spring.cloud.gateway.filter.secure-headers.xss-protection-header1 ; mode=block
spring.cloud.gateway.filter.set-path.enabledtrue启用 set-path 过滤器。
spring.cloud.gateway.filter.set-request-header.enabledtrue启用 set-request-header 过滤器。
spring.cloud.gateway.filter.set-request-host-header.enabledtrue启用 set-request-host-header 过滤器。
spring.cloud.gateway.filter.set-response-header.enabledtrue启用 set-response-header 过滤器。
spring.cloud.gateway.filter.set-status.enabledtrue启用 set-status 过滤器。
spring.cloud.gateway.filter.strip-prefix.enabledtrue启用 strip-prefix 过滤器。
spring.cloud.gateway.forwarded.enabledtrue启用 ForwardedHeadersFilter
spring.cloud.gateway.global-filter.adapt-cached-body.enabledtrue启用 adapt-cached-body 全局过滤器。
spring.cloud.gateway.global-filter.forward-path.enabledtrue启用前向路径全局过滤器。
spring.cloud.gateway.global-filter.forward-routing.enabledtrue启用前向路由全局过滤器。
spring.cloud.gateway.global-filter.load-balancer-client.enabledtrue启用负载均衡客户端全局过滤器。
spring.cloud.gateway.global-filter.local-response-cache.enabledtrue为所有路由启用本地响应缓存过滤器,允许使用 LocalResponseCache 过滤器在路由级别添加特定配置。
spring.cloud.gateway.global-filter.netty-routing.enabledtrue启用 netty-routing 全局过滤器。
spring.cloud.gateway.global-filter.netty-write-response.enabledtrue启用 netty-write-response 全局过滤器。
spring.cloud.gateway.global-filter.reactive-load-balancer-client.enabledtrue启用 reactive-load-balancer-client 全局过滤器。
spring.cloud.gateway.global-filter.remove-cached-body.enabledtrue启用 remove-cached-body 全局过滤器。
spring.cloud.gateway.global-filter.route-to-request-url.enabledtrue启用 route-to-request-url 全局过滤器。
spring.cloud.gateway.global-filter.websocket-routing.enabledtrue启用 websocket-routing 全局过滤器。
spring.cloud.gateway.globalcors.add-to-simple-url-handler-mappingfalse是否应将全局 CORS 配置添加到 URL 处理程序中。
spring.cloud.gateway.globalcors.cors-configurations
spring.cloud.gateway.handler-mapping.order1RoutePredicateHandlerMapping 的顺序。
spring.cloud.gateway.httpclient.compressionfalse启用 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-interval0在后台以指定的时间间隔执行定期驱逐检查。默认情况下禁用({@link Duration#ZERO}
spring.cloud.gateway.httpclient.pool.leasing-strategyfifo配置池的租用策略,默认为 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.metricsfalse启用通道池指标的收集并在 Micrometer 中注册。默认情况下禁用。
spring.cloud.gateway.httpclient.pool.nameproxy通道池映射名称,默认为 proxy。
spring.cloud.gateway.httpclient.pool.typeelasticHttpClient 使用的连接池类型,默认为 ELASTIC。
spring.cloud.gateway.httpclient.proxy.hostNetty HttpClient 的代理配置主机名。
spring.cloud.gateway.httpclient.proxy.non-proxy-hosts-pattern用于配置主机列表的正则表达式(Java),这些主机应直接访问,绕过代理。
spring.cloud.gateway.httpclient.proxy.passwordNetty HttpClient 代理配置的密码。
spring.cloud.gateway.httpclient.proxy.portNetty HttpClient 的代理配置端口。
spring.cloud.gateway.httpclient.proxy.typehttpproxyType 用于配置 Netty HttpClient 的代理类型。
spring.cloud.gateway.httpclient.proxy.username用于配置 Netty HttpClient 代理的用户名。
spring.cloud.gateway.httpclient.response-timeout响应超时。
spring.cloud.gateway.httpclient.ssl.close-notify-flush-timeout3000msSSL close_notify 刷新超时。默认为 3000 毫秒。
spring.cloud.gateway.httpclient.ssl.close-notify-read-timeout0SSL close_notify 读取超时。默认为 0 毫秒。
spring.cloud.gateway.httpclient.ssl.handshake-timeout10000msSSL 握手超时。默认为 10000 毫秒。
spring.cloud.gateway.httpclient.ssl.key-password密钥密码,默认与 keyStorePassword 相同。
spring.cloud.gateway.httpclient.ssl.key-storeNetty HttpClient 的 Keystore 路径。
spring.cloud.gateway.httpclient.ssl.key-store-passwordKeystore 密码。
spring.cloud.gateway.httpclient.ssl.key-store-providerNetty HttpClient 的 Keystore 提供程序,可选字段。
spring.cloud.gateway.httpclient.ssl.key-store-typeJKSNetty HttpClient 的 Keystore 类型,默认为 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-managerfalse安装 nettyInsecureTrustManagerFactory。这是不安全的,不适用于生产环境。
spring.cloud.gateway.httpclient.websocket.max-frame-payload-length最大帧负载长度。
spring.cloud.gateway.httpclient.websocket.proxy-pingtrue代理将 ping 帧传递给下游服务,默认为 true。
spring.cloud.gateway.httpclient.wiretapfalse启用 Netty HttpClient 的窃听调试功能。
spring.cloud.gateway.httpserver.wiretapfalse启用 Netty HttpServer 的 wiretap 调试功能。
spring.cloud.gateway.loadbalancer.use404false
spring.cloud.gateway.metrics.enabledfalse启用指标数据的收集。
spring.cloud.gateway.metrics.prefixspring.cloud.gateway所有由网关发出的指标的前缀。
spring.cloud.gateway.metrics.tags添加到指标中的标签映射。
spring.cloud.gateway.mvc.form-filter.enabledtrue启用表单过滤器。
spring.cloud.gateway.mvc.forwarded-request-headers-filter.enabledtrue启用 forwarded-request-headers-filter
spring.cloud.gateway.mvc.http-client.connect-timeoutHttpClient 连接超时时间。
spring.cloud.gateway.mvc.http-client.read-timeoutHttpClient 读取超时。
spring.cloud.gateway.mvc.http-client.ssl-bundle要使用的 SSL 捆绑包的名称。
spring.cloud.gateway.mvc.http-client.typejdkHttpClient 类型。默认为 JDK。
spring.cloud.gateway.mvc.remove-content-length-request-headers-filter.enabledtrue启用 remove-content-length-request-headers-filter
spring.cloud.gateway.mvc.remove-hop-by-hop-request-headers-filter.enabledtrue启用转发请求头过滤器。
spring.cloud.gateway.mvc.remove-hop-by-hop-response-headers-filter.enabledtrue启用转发请求头过滤器。
spring.cloud.gateway.mvc.routes路由列表。
spring.cloud.gateway.mvc.routes-map路由地图。
spring.cloud.gateway.mvc.streaming-buffer-size16384流媒体 MIME 类型的缓冲区大小。
spring.cloud.gateway.mvc.streaming-media-types流式传输的 MIME 类型。
spring.cloud.gateway.mvc.transfer-encoding-normalization-request-headers-filter.enabledtrue启用 transfer-encoding-normalization-request-headers-filter
spring.cloud.gateway.mvc.weight-calculator-filter.enabledtrue启用权重计算器过滤器。
spring.cloud.gateway.mvc.x-forwarded-request-headers-filter.enabledtrue如果启用了 XForwardedHeadersFilter
spring.cloud.gateway.mvc.x-forwarded-request-headers-filter.for-appendtrue如果启用了将 X-Forwarded-For 作为列表附加。
spring.cloud.gateway.mvc.x-forwarded-request-headers-filter.for-enabledtrue如果启用了 X-Forwarded-For
spring.cloud.gateway.mvc.x-forwarded-request-headers-filter.host-appendtrue如果启用将 X-Forwarded-Host 作为列表追加。
spring.cloud.gateway.mvc.x-forwarded-request-headers-filter.host-enabledtrue如果启用了 X-Forwarded-Host
spring.cloud.gateway.mvc.x-forwarded-request-headers-filter.order0XForwardedHeadersFilter 的顺序。
spring.cloud.gateway.mvc.x-forwarded-request-headers-filter.port-appendtrue如果启用了将 X-Forwarded-Port 作为列表追加的功能。
spring.cloud.gateway.mvc.x-forwarded-request-headers-filter.port-enabledtrue如果启用了 X-Forwarded-Port
spring.cloud.gateway.mvc.x-forwarded-request-headers-filter.prefix-appendtrue如果启用了将 X-Forwarded-Prefix 作为列表追加的功能。
spring.cloud.gateway.mvc.x-forwarded-request-headers-filter.prefix-enabledtrue如果启用了 X-Forwarded-Prefix
spring.cloud.gateway.mvc.x-forwarded-request-headers-filter.proto-appendtrue如果启用了将 X-Forwarded-Proto 作为列表追加的功能。
spring.cloud.gateway.mvc.x-forwarded-request-headers-filter.proto-enabledtrue如果启用了 X-Forwarded-Proto
spring.cloud.gateway.observability.enabledtrue如果应开启 Micrometer 可观测性支持。
spring.cloud.gateway.predicate.after.enabledtrue启用 after 谓词。
spring.cloud.gateway.predicate.before.enabledtrue启用 before 谓词。
spring.cloud.gateway.predicate.between.enabledtrue启用 between 谓词。
spring.cloud.gateway.predicate.cloud-foundry-route-service.enabledtrue启用 cloud-foundry-route-service 谓词。
spring.cloud.gateway.predicate.cookie.enabledtrue启用 cookie 谓词。
spring.cloud.gateway.predicate.header.enabledtrue启用头部谓词。
spring.cloud.gateway.predicate.host.enabledtrue启用主机谓词。
spring.cloud.gateway.predicate.host.include-porttrue在匹配主机名时包含端口。
spring.cloud.gateway.predicate.method.enabledtrue启用方法谓词。
spring.cloud.gateway.predicate.path.enabledtrue启用路径谓词。
spring.cloud.gateway.predicate.query.enabledtrue启用查询谓词。
spring.cloud.gateway.predicate.read-body.enabledtrue启用 read-body 谓词。
spring.cloud.gateway.predicate.remote-addr.enabledtrue启用远程地址(remote-addr)断言。
spring.cloud.gateway.predicate.weight.enabledtrue启用权重谓词。
spring.cloud.gateway.predicate.xforwarded-remote-addr.enabledtrue启用 xforwarded-remote-addr 谓词。
spring.cloud.gateway.redis-rate-limiter.burst-capacity-headerX-RateLimit-Burst-Capacity返回突发容量配置的标头名称。
spring.cloud.gateway.redis-rate-limiter.config
spring.cloud.gateway.redis-rate-limiter.include-headerstrue是否包含包含速率限制器信息的标头,默认为 true。
spring.cloud.gateway.redis-rate-limiter.remaining-headerX-RateLimit-Remaining返回当前秒内剩余请求数量的响应头名称。
spring.cloud.gateway.redis-rate-limiter.replenish-rate-headerX-RateLimit-Replenish-Rate返回补充速率配置的标头名称。
spring.cloud.gateway.redis-rate-limiter.requested-tokens-headerX-RateLimit-Requested-Tokens返回请求的令牌配置的标头名称。
spring.cloud.gateway.redis-route-definition-repository.enabledtrue是否应启用 RedisRouteDefinitionRepository。
spring.cloud.gateway.restrictive-property-accessor.enabledtrue限制 SpEL 中的方法和属性访问。
spring.cloud.gateway.route-filter-cache-enabledfalse启用路由过滤器缓存,默认为 false。
spring.cloud.gateway.route-refresh-listener.enabledtrue是否应开启 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.enabledtrue如果启用了 XForwardedHeadersFilter
spring.cloud.gateway.x-forwarded.for-appendtrue如果启用了将 X-Forwarded-For 作为列表附加的功能。
spring.cloud.gateway.x-forwarded.for-enabledtrue如果启用了 X-Forwarded-For。
spring.cloud.gateway.x-forwarded.host-appendtrue如果启用了将 X-Forwarded-Host 作为列表追加的功能。
spring.cloud.gateway.x-forwarded.host-enabledtrue如果启用了 X-Forwarded-Host。
spring.cloud.gateway.x-forwarded.order0XForwardedHeadersFilter 的顺序。
spring.cloud.gateway.x-forwarded.port-appendtrue如果启用了将 X-Forwarded-Port 作为列表附加的功能。
spring.cloud.gateway.x-forwarded.port-enabledtrue如果启用了 X-Forwarded-Port
spring.cloud.gateway.x-forwarded.prefix-appendtrue如果启用了将 X-Forwarded-Prefix 作为列表追加。
spring.cloud.gateway.x-forwarded.prefix-enabledtrue如果启用了 X-Forwarded-Prefix
spring.cloud.gateway.x-forwarded.proto-appendtrue如果启用了将 X-Forwarded-Proto 作为列表追加的功能。
spring.cloud.gateway.x-forwarded.proto-enabledtrue如果启用了 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

important

在启动观察后添加的 KeyValues 可能会在 *.active 指标中缺失。

important

Micrometer 内部使用 纳秒 作为基本单位。然而,每个后端决定实际的基本单位。(例如,Prometheus 使用秒)

封闭类的完全限定名称 org.springframework.cloud.gateway.filter.headers.observation.GatewayDocumentedObservation

表 1. 低基数键

名称描述
http.method (必填)HTTP 方法。
http.status_code (必填)HTTP 状态码。
spring.cloud.gateway.route.id (必填)路由 ID。
spring.cloud.gateway.route.uri (必填)从路由中获取的 HTTP URI。

表 2. 高基数键

名称描述
http.uri (必填)完整的 HTTP URI。

可观测性 - Spans

下面你可以找到该项目声明的所有跨度的列表。

网关 HTTP 客户端观察跨度

通过网关发送请求时创建的观察。

Span 名称 http.client.requests(由约定类 org.springframework.cloud.gateway.filter.headers.observation.DefaultGatewayObservationConvention 定义)。

封闭类的完全限定名称 org.springframework.cloud.gateway.filter.headers.observation.GatewayDocumentedObservation

表 3. 标签键

名称描述
http.method (必填)HTTP 方法。
http.status_code (必填)HTTP 状态码。
http.uri (必填)完整的 HTTP URI。
spring.cloud.gateway.route.id (必填)路由 ID。
spring.cloud.gateway.route.uri (必填)从路由中获取的 HTTP URI。

可观测性 - 约定

下面你可以找到本项目声明的所有 GlobalObservationConventionObservationConvention 的列表。

表 4. ObservationConvention 实现

观察约定类名适用的观察上下文类名
org.springframework.cloud.gateway.filter.headers.observation.DefaultGatewayObservationConventionGatewayContext
org.springframework.cloud.gateway.filter.headers.observation.GatewayObservationConventionGatewayContext