Spring Cloud Gateway网关之配置说明

API网关
01 Spring Cloud Gateway网关之快速上手
02 Spring Cloud Gateway网关之两种路由配置方式
03 Spring Cloud Gateway网关之跨域支持
04 Spring Cloud Gateway网关之自定义全局过滤器
05 Spring Cloud Gateway网关之自定义路由过滤器
06 Spring Cloud Gateway网关之自定义路由谓词工厂
07 Spring Cloud Gateway网关之超时时间配置
08 Spring Cloud Gateway网关之配置说明
09 Zuul网关之快速上手
10 Zuul网关之路由配置
11 Zuul网关之跨域支持
12 Zuul网关之自定义过滤器
13 Zuul网关之超时时间配置

可以在application.properties文件内,application.yml文件内或作为命令行开关指定各种属性。本附录提供了常见的Spring Cloud Gateway属性列表以及对使用它们的基础类的引用

配置说明请参考官网,这里主要是参考官网翻译过来的。

配置如下:

配置名称默认值描述说明
spring.cloud.gateway.default-filters应用于每个路由的过滤器定义列表。
spring.cloud.gateway.discovery.locator.enabledfalse启用DiscoveryClient网关集成的标志。如果启用,则会默认把eureka的服务通过网关暴露出去,所以通常情况下我们都不会启用,而是根据需要去配置路由。
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大写时,对eureka很有用。因此MYSERIVCE将与/ myservice/**匹配
spring.cloud.gateway.discovery.locator.predicates
spring.cloud.gateway.discovery.locator.route-id-prefixrouteId的前缀,默认为DiscoveryClient.getClass()。getSimpleName()+“ _”。服务ID将被添加以创建routeId。
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.remove-hop-by-hop.headers
spring.cloud.gateway.filter.remove-hop-by-hop.order
spring.cloud.gateway.filter.request-rate-limiter.deny-empty-keytrue如果密钥解析器返回空密钥,则切换为拒绝请求,默认为true。
spring.cloud.gateway.filter.request-rate-limiter.empty-key-status-codedenyEmptyKey为true时返回的HttpStatus,默认为FORBIDDEN。
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.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.forwarded.enabledtrue启用ForwardedHeadersFilter。
spring.cloud.gateway.globalcors.add-to-simple-url-handler-mappingfalse是否将全局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.nameproxy通道池映射名称默认为代理。
spring.cloud.gateway.httpclient.pool.typeHttpClient要使用的池类型,默认为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.usernameNetty 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-flush-timeout-millis
spring.cloud.gateway.httpclient.ssl.close-notify-read-timeoutSSL关闭通知读取超时。默认为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-timeout10000msSSL握手超时。默认为10000毫秒
spring.cloud.gateway.httpclient.ssl.handshake-timeout-millis
spring.cloud.gateway.httpclient.ssl.key-password密钥密码,默认值与keyStorePassword相同。
spring.cloud.gateway.httpclient.ssl.key-storeNetty HttpClient的密钥库路径。
spring.cloud.gateway.httpclient.ssl.key-store-password密钥库密码。
spring.cloud.gateway.httpclient.ssl.key-store-providerNetty HttpClient的密钥库提供程序,可选字段。
spring.cloud.gateway.httpclient.ssl.key-store-typeJKSNetty HttpClient的密钥库类型,默认为JKS。
spring.cloud.gateway.httpclient.ssl.trusted-x509-certificates用于验证远程终结点的证书的受信任证书。
spring.cloud.gateway.httpclient.ssl.use-insecure-trust-managerfalse安装netty UnsecureTrustManagerFactory。这是不安全的,不适合生产。
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的窃听调试。
spring.cloud.gateway.loadbalancer.use404false
spring.cloud.gateway.metrics.enabledtrue启用度量数据的收集。
spring.cloud.gateway.metrics.tags添加到度量的标记映射.
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.routes路由列表
spring.cloud.gateway.set-status.original-status-header-name包含代理请求的http代码的header的名称。
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-PRODIED-PROTO作为一个列表。
spring.cloud.gateway.x-forwarded.proto-enabledtrue如果启用了X-Forwarded-Proto。