zoukankan      html  css  js  c++  java
  • Spring cloud Gateway HTTS配置

    在Web服务应用中,为了数据的传输安全,使用安全证书,使用TLS/SSL加密。这里就介绍一下Spring Cloud Gateway的HTTPS配置。

    7.1 TLS/ SSL配置

    • TLS:安全传输层协议(TLS)用于在两个通信应用程序之间提供保密性和数据完整性
    • SSL:SSL(Secure Sockets Layer 安全套接层),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议。
      TLS与SSL在传输层与应用层之间对网络连接进行加密。

    application.yml中配置SSL如下所示:

    server:
      ssl:
        enabled: true
        key-alias: scg
        key-store-password: scg1234
        key-store: classpath:scg-keystore.p12
        key-store-type: PKCS12
    

    Spring Cloud Gateway可以路由请求到http或https的服务,如果是将请求路由到https服务,可以通过下面的配置,让网关信任所有的后面服务的证书:

    spring:
      cloud:
        gateway:
          httpclient:
            ssl:
              useInsecureTrustManager: true
    

    这种配置方式不适合用于生产环境,在生产环境中,可以在网关这里配置一些信任的证书,如下面配置所示:

    spring:
      cloud:
        gateway:
          httpclient:
            ssl:
              trustedX509Certificates:
              - cert1.pem
              - cert2.pem
    

    如果没有给网关配置可以信任的证书,那么这些默认的证书将被使用,不过,这些配置可以被系统属性设置(javax.net.ssl.trustStore)覆盖。

    点击支持一下

    TLS握手(TLS Handshake)

    在Spring Cloud Gateway服务中,有一个客户端的连接池,用于向后台的服务路由请求。当使用Https通信时,客户端会初始化一次TLS握手,这次握手可以配置一个超时时间,如下所示:

    spring:
      cloud:
        gateway:
          httpclient:
            ssl:
              handshake-timeout-millis: 10000
              close-notify-flush-timeout-millis: 3000
              close-notify-read-timeout-millis: 0
    

    原文文档:https://cloud.spring.io/spring-cloud-static/spring-cloud-gateway/2.1.0.RELEASE/multi/multi__tls_ssl.html QQ交流群:677464431
  • 相关阅读:
    nginx不支持pathinfo模式解决方法
    php只保留两位小数
    分享图文到QQ空间
    android 使用信鸽推送通知栏不显示推送的通知?
    Editetext获取焦点后让输入软键盘中出现搜索按键
    Android EditText的使用过程中遇到的问题
    在线根据现有apk生成指定id的推广apk (已过时)
    @Validated和@Valid区别
    idea快捷键使用总结
    大概
  • 原文地址:https://www.cnblogs.com/wgslucky/p/11704766.html
Copyright © 2011-2022 走看看