1、这是因为在eureka实现中存在一个web请求过滤器,其过滤的请求路径就是必须符合/eureka/*,并且不是应用的上下文路径。所以即使将server.context-path配置为/eureka,各个节点之间还是无法连通的。
2、eureka集群的各个节点是通过一系列接口进行通信的。
3、但【spring-cloud-netflix-eureka-server】包中存在下图的【spring.factories】文件,根据SpringBoot加载规则,在应用启动时会加载配置类【EurekaServerAutoConfiguration】。
4、在该配置类中先通过方法【jerseyApplication】收集被【Path】和【Provider】注释的类,然后再通过方法【jerseyFilterRegistration】生成一个包含过路径滤器的注册类【FilterRegistrationBean】,随后SpringBoot会将该过滤器加入对web请求的过滤器链中。
5、该过滤器中的url模式为常量【DEFAULT_PREFIX】即“/eureka”。
eureka集群的defaultZone地址中为什么必须包含/eureka路径
原文:https://www.cnblogs.com/StarkBrothers/p/11974026.html