SpringCloudGateway配置https访问

图片描述
Spring Cloud Gateway是Spring官方基于Spring 5.0,Spring Boot 2.0和Project Reactor等技术开发的网关,Spring Cloud Gateway旨在为微服务架构提供一种简单而有效的统一的API路由管理方式。Spring Cloud Gateway作为Spring Cloud生态系中的网关,其不仅提供统一的路由方式,并且基于Filter链的方式提供了网关基本的功能,例如:安全,监控/埋点,和限流等。

Project Reactor是响应式编程的实现者,之前的文章我写过响应式编程的高并发性能,所以用的人会越来越多,现在来说说如何配置Spring Cloud Gateway,可以直接替代Nginx作为前置的负载均衡器。

下面举例说明如何进行配置:

配置证书信息

在配置文件application.yml中设置证书的基本信息,如下:

server:  
  ssl:    
    enabled: true                         //启用ssl
    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

通过以上几步,网关就可以进行https了,你就可以让它放心的代替nginx了。

你觉得使用SpringCloudGateway进行https访问怎么样啊?感兴趣的可以关注我的公众号(xtech100)。

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值