可以在application.properties文件内,application.yml文件内或作为命令行开关指定各种属性。本附录提供了常见的Spring Cloud Gateway属性列表以及对使用它们的基础类的引用
配置说明请参考官网,这里主要是参考官网翻译过来的。
配置如下:
配置名称 | 默认值 | 描述说明 |
---|---|---|
spring.cloud.gateway.default-filters | 应用于每个路由的过滤器定义列表。 | |
spring.cloud.gateway.discovery.locator.enabled | false | 启用DiscoveryClient网关集成的标志。如果启用,则会默认把eureka的服务通过网关暴露出去,所以通常情况下我们都不会启用,而是根据需要去配置路由。 |
spring.cloud.gateway.discovery.locator.filters | ||
spring.cloud.gateway.discovery.locator.include-expression | true | 将评估是否在网关集成中包括服务的SpEL表达式,默认为:true。 |
spring.cloud.gateway.discovery.locator.lower-case-service-id | false | 谓词和过滤器中的小写serviceId选项,默认为false。当eureka自动将serviceId大写时,对eureka很有用。因此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 | ‘lb://‘+serviceId | 为每个路由创建uri的SpEL表达式,默认为:’lb://‘+serviceId。 |
spring.cloud.gateway.enabled | true | 启用网关功能。 |
spring.cloud.gateway.fail-on-route-definition-error | true | 在路由定义错误时失败的选项,默认为true。否则,将记录警告。 |
spring.cloud.gateway.filter.remove-hop-by-hop.headers | ||
spring.cloud.gateway.filter.remove-hop-by-hop.order | ||
spring.cloud.gateway.filter.request-rate-limiter.deny-empty-key | true | 如果密钥解析器返回空密钥,则切换为拒绝请求,默认为true。 |
spring.cloud.gateway.filter.request-rate-limiter.empty-key-status-code | denyEmptyKey为true时返回的HttpStatus,默认为FORBIDDEN。 | |
spring.cloud.gateway.filter.secure-headers.content-security-policy | default-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-options | nosniff | |
spring.cloud.gateway.filter.secure-headers.disable | ||
spring.cloud.gateway.filter.secure-headers.download-options | noopen | |
spring.cloud.gateway.filter.secure-headers.frame-options | DENY | |
spring.cloud.gateway.filter.secure-headers.permitted-cross-domain-policies | none | |
spring.cloud.gateway.filter.secure-headers.referrer-policy | no-referrer | |
spring.cloud.gateway.filter.secure-headers.strict-transport-security | max-age=631138519 | |
spring.cloud.gateway.filter.secure-headers.xss-protection-header | 1 ; mode=block | |
spring.cloud.gateway.forwarded.enabled | true | 启用ForwardedHeadersFilter。 |
spring.cloud.gateway.globalcors.add-to-simple-url-handler-mapping | false | 是否将全局CORS配置添加到URL处理程序。 |
spring.cloud.gateway.globalcors.cors-configurations | ||
spring.cloud.gateway.httpclient.connect-timeout | 连接超时(毫秒),默认值为45秒。 | |
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.max-connections | 仅适用于FIXED类型,即在现有连接上启动挂起获取之前的最大连接数。 | |
spring.cloud.gateway.httpclient.pool.max-idle-time | 通道关闭后的时间(毫秒)。如果为空,则没有最长空闲时间。 | |
spring.cloud.gateway.httpclient.pool.max-life-time | 关闭通道的持续时间。如果为空,则没有最长生存时间。 | |
spring.cloud.gateway.httpclient.pool.name | proxy | 通道池映射名称默认为代理。 |
spring.cloud.gateway.httpclient.pool.type | HttpClient要使用的池类型,默认为ELASTIC。 | |
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.username | Netty HttpClient代理配置的用户名。 | |
spring.cloud.gateway.httpclient.response-timeout | 响应超时时间 | |
spring.cloud.gateway.httpclient.ssl.close-notify-flush-timeout | 3000ms | SSL close_notify 刷新超时时间。默认为3000毫秒。 |
spring.cloud.gateway.httpclient.ssl.close-notify-flush-timeout-millis | ||
spring.cloud.gateway.httpclient.ssl.close-notify-read-timeout | SSL关闭通知读取超时。默认为0毫秒。 | |
spring.cloud.gateway.httpclient.ssl.close-notify-read-timeout-millis | ||
spring.cloud.gateway.httpclient.ssl.default-configuration-type | 默认ssl配置类型。默认为TCP。 | |
spring.cloud.gateway.httpclient.ssl.handshake-timeout | 10000ms | SSL握手超时。默认为10000毫秒 |
spring.cloud.gateway.httpclient.ssl.handshake-timeout-millis | ||
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 | JKS | Netty HttpClient的密钥库类型,默认为JKS。 |
spring.cloud.gateway.httpclient.ssl.trusted-x509-certificates | 用于验证远程终结点的证书的受信任证书。 | |
spring.cloud.gateway.httpclient.ssl.use-insecure-trust-manager | false | 安装netty UnsecureTrustManagerFactory。这是不安全的,不适合生产。 |
spring.cloud.gateway.httpclient.websocket.max-frame-payload-length | 最大帧有效载荷长度。 | |
spring.cloud.gateway.httpclient.websocket.proxy-ping | true | 代理ping帧到下游服务,默认为true。 |
spring.cloud.gateway.httpclient.wiretap | false | 启用Netty HttpClient的窃听调试。 |
spring.cloud.gateway.httpserver.wiretap | false | 启用Netty HttpServer的窃听调试。 |
spring.cloud.gateway.loadbalancer.use404 | false | |
spring.cloud.gateway.metrics.enabled | true | 启用度量数据的收集。 |
spring.cloud.gateway.metrics.tags | 添加到度量的标记映射. | |
spring.cloud.gateway.redis-rate-limiter.burst-capacity-header | X-RateLimit-Burst-Capacity | 返回突发容量配置的标头的名称。 |
spring.cloud.gateway.redis-rate-limiter.config | ||
spring.cloud.gateway.redis-rate-limiter.include-headers | true | 无论是否包含包含速率限制器信息的头,默认值为true。 |
spring.cloud.gateway.redis-rate-limiter.remaining-header | X-RateLimit-Remaining | 返回当前秒期间剩余请求数的标头的名称。 |
spring.cloud.gateway.redis-rate-limiter.replenish-rate-header | X-RateLimit-Replenish-Rate | 返回补充率配置的标头的名称。 |
spring.cloud.gateway.redis-rate-limiter.requested-tokens-header | X-RateLimit-Requested-Tokens | 返回请求的令牌配置的标头的名称。 |
spring.cloud.gateway.routes | 路由列表 | |
spring.cloud.gateway.set-status.original-status-header-name | 包含代理请求的http代码的header的名称。 | |
spring.cloud.gateway.streaming-media-types | ||
spring.cloud.gateway.x-forwarded.enabled | true | 如果XForwardedHeadersFilter已启用。 |
spring.cloud.gateway.x-forwarded.for-append | true | 如果启用了附加X-Forwarded-For作为列表。 |
spring.cloud.gateway.x-forwarded.for-enabled | true | 如果启用了X-Forwarded-For。 |
spring.cloud.gateway.x-forwarded.host-append | true | 如果启用了附加X-Forwarded-Host作为列表。 |
spring.cloud.gateway.x-forwarded.host-enabled | true | 如果启用了X-Forwarded-Host。 |
spring.cloud.gateway.x-forwarded.order | 0 | XForwardedHeadersFilter的顺序。 |
spring.cloud.gateway.x-forwarded.port-append | true | 如果启用了附加X-Forwarded-Port作为列表。 |
spring.cloud.gateway.x-forwarded.port-enabled | true | 如果启用了X-Forwarded-Port。 |
spring.cloud.gateway.x-forwarded.prefix-append | true | 如果启用了附加X-Forwarded-Prefix作为列表。 |
spring.cloud.gateway.x-forwarded.prefix-enabled | true | 如果启用了X-Forwarded-Prefix。 |
spring.cloud.gateway.x-forwarded.proto-append | true | 如果启用X-PRODIED-PROTO作为一个列表。 |
spring.cloud.gateway.x-forwarded.proto-enabled | true | 如果启用了X-Forwarded-Proto。 |