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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM