Spring 云微服务 - Eureka 服务器安全

Spring Cloud Microservices - Eureka Server Security

由于 Eureka 使用 http/https 协议与其注册人(客户端)进行交互,您可以假装是其客户端之一向其发布 false/erroneous 数据,告诉它一个服务已关闭,最终导致从注册表中删除这些服务。在具有许多用户的大型系统中,这是很可能发生的情况。 防止此类攻击的替代 security/authentication 方案是什么?

如果您的服务发现可以从外部访问,则需要为其添加一些安全措施,而 HTTPS 只能防止中间人攻击,因此还不够。

如果您将 Eureka 与 spring 云启动器 (@EnableEurekaServer) 一起使用,您可以使用 spring 安全性来保护您的服务器。

对于一个简单的例子,您可以添加:

security:
  user:
    name: admin
    password: password

并在 spring-boot 客户端像这样声明尤里卡:

eureka:
  client:
    serviceUrl:
      defaultZone: http://admin:password@localhost:8002/eureka

您还可以使用 oauth,以及 spring 提供的所有其他安全协议。