我当前正在尝试使用eureka设置服务发现,但是客户端使用错误的端口注册。每个Eureka客户端都位于其自己的nginx反向代理后面的不同服务器上,并且可以通过443端口上的https从外部访问,但是java eureka客户端是在不同端口上配置的。我还尝试将它们配置为与nginx暴露在相同的端口上,但是nginx服务器具有无限的重定向,并且在尝试进行一些错误“ invalid redirect”后停止。在不同的端口上,eureka客户端使用spring boot yaml服务器端口配置中的configure端口在服务器上注册。如果是这样,那么一个客户端尝试访问另一个客户端,它将使用在Spring Boot应用程序中配置的端口。我需要能够在与运行客户端不同的端口上注册eureka客户端。那可能吗?我在这里想念什么?将Zuul用作网关会在这里有所作为吗?
设置(每个系统都部署在NGINX反向代理之后的其他VServer上): 尤里卡服务器 多个Eureka客户端(API,UI等) Identity Management Keycloak SSO服务器未在eureka服务器上注册
答案 0 :(得分:0)
端口一次只能由一项服务使用。因此,您无法将nignx和spring boot配置为在同一端口上侦听并接收错误消息。
Spring Boot不知道代理设置,因此eureka客户端在eureka服务器上注册实例(使用spring.port)。您可以使用EurekaInstanceConfig配置eurka实例。在这种情况下,您要将eureka.instance.port=443
更改为nginx公开的那个。