版本:2.0.2.RELEASE
链接:http://spring.io/projects/spring-cloud-gateway#overview
本章主要目录如下:
Spring Cloud GatewayTLS/SSL是什么?
Spring Cloud Gateway因如何配置?
Spring Cloud Gateway跨域访问配置怎么玩?
Spring Cloud Gateway执行器API是什么?
Spring Cloud Gateway开发人员指南如何使用?
Spring Cloud Gateway应如何使用MVC或Webflux搭建?
本章主要内容如下:
1.Spring Cloud GatewayTLS/SSL是什么?
网关可以通过遵循通常的 Spring 服务器配置来监听 https 上的请求。例如:
application.yml
server:
ssl:
enabled: true
key-alias: scg
key-store-password: scg1234
key-store: classpath:scg-keystore.p12
key-store-type: PKCS12
网关路由可以路由到 http 和 https 后端。如果路由到 https 后端,则可以将网关配置为信任具有以下配置的所有下游证书:
application.yml
spring:
cloud:
gateway:
httpclient:
ssl:
useInsecureTrustManager: true
使用不安全的信任管理器不适合生产。对于生产部署,可以使用以下配置配置一组可信任的已知证书:
application.yml
spring:
cloud:
gateway:
httpclient:
ssl:
trustedX509Certificates:
- cert1.pem
- cert2.pem
如果Spring Cloud Gateway未配置可信证书,则使用默认信任库(可以使用系统属性javax.net.ssl.trustStore覆盖)。
-
TLS握手
网关维护一个客户端池,用于路由到后端。通过https进行通信时,客户端会启动TLS握手。这次握手会有很多超时。可以配置这些超时(显示默认值):
application.yml
spring:
cloud:
gateway:
httpclient:
ssl:
handshake-timeout-millis:10000
close-notify-flush-timeout-millis:3000
close-notify-read-timeout-millis:0
2.Spring Cloud Gateway因如何配置?
Spring Cloud Gateway 的配置是