eureka+configserver+gateway集群使用https/http2

介绍

本文介绍spring cloud 集群配置https 。
ssl证书的生成这里就不再赘述,网上有一大堆。

集群成员

eureka:注册中心
configserver:配置中心
gateway:网关
其他server

配置

eureka:

server:
  port: 8761
  http2:
    enabled: true
  ssl:
    enabled: true
    #证书配置
    key-store-password: ****
    key-store-type: PKCS12
    key-store: classpath:****.pfx
eureka:
  client:
    register-with-eureka: false
    fetch-registry: false
    service-url:
      default-zone: https://${eureka.instance.hostname}:${server.port}/eureka/
  instance:
    hostname: localhost
    # 重要配置
    securePortEnabled: true
    nonSecurePortEnabled: false

configserver:

eureka:
  client:
    service-url:
      defaultZone: https://localhost或者域名:8761/eureka/
  instance:
  	# 使用ip的方式访问configserver
    prefer-ip-address: true
    # 不开启安全端口
    #securePortEnabled: true

configserver这里我们不开启https的形式访问,如果开启的话,服务的配置需要指定:

spring.config.uri =  https://域名:8888

这样就无法使用注册中心发现服务。
如果configserver开启https形式访问,其他服务使用注册中心发现配置中心服务的话,服务启动时会报错:

No subject alternative names matching IP address xxxx found

gateway:

server:
  port: 8443
  http2:
    enabled: true
  ssl:
    enabled: true
    #证书配置
    key-store-password: ****
    key-store-type: PKCS12
    key-store: classpath:****.pfx
spring:
  application:
    name: gateway
  cloud:
    config:
      discovery:
        enabled: true
      fail-fast: true
      # 使用https形式访问配置中心,若配置中心配置了https 不使用此方式无法访问
      #uri:https://域名:端口
    gateway:
      httpclient:
        ssl:
          # 信任下游证书
          use-insecure-trust-manager: true
eureka:
  client:
    service-url:
      defaultZone: https://localhost或者域名:8761/eureka/
  instance:
  	# 开启安全端口,告诉其他服务我的端口是https访问方式
    securePortEnabled: true
    prefer-ip-address: true

注意:如果不使用http2 可将server.http2.enabled 配置去掉

spring cloud 2021.0.0 才开始支持使用http2
http2 需在支持https的前提下使用

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Eureka和Seata分别是服务发现和分布式事务解决方案,它们可以结合使用,提高微服务架构的可靠性和稳定性。下面是它们的集群搭建步骤: 1. Eureka集群搭建 - 部署多个Eureka Server实例,每个实例都需要配置相同的应用名称(application.name)和注册中心地址(eureka.client.service-url.defaultZone),以实现服务注册和发现的高可用。 - 配置Eureka Server实例之间的相互注册,每个Eureka Server实例都需要配置其他Eureka Server实例的地址(eureka.client.service-url.defaultZone),这样它们才能相互发现和注册服务。 - 可以通过配置负载均衡器(如Nginx)来实现Eureka Server集群的负载均衡和高可用。 2. Seata集群搭建 - 部署多个Seata Server实例,每个实例都需要配置相同的注册中心地址(registry.type)和事务组名称(tx-service-group),以实现分布式事务的高可用。 - 配置Seata Server实例之间的相互注册,每个Seata Server实例都需要配置其他Seata Server实例的地址(registry.address),这样它们才能相互发现和协调分布式事务。 - 可以通过配置负载均衡器(如Nginx)来实现Seata Server集群的负载均衡和高可用。 需要注意的是,Eureka和Seata的集群搭建都需要考虑到高可用和负载均衡的问题,具体实现可以根据实际情况选择不同的方案。同时,集群搭建也需要注意配置的正确性和安全性,避免出现故障或安全问题。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值