提问者:小点点

RESTAPI没有端口号在Eureka服务器不工作


我有一个Spring Cloud微服务应用程序,它有多个独立运行的服务,我正在使用Eureka服务注册表。我所有的微服务都注册到Eureka服务器上,所有的客户端应用程序都运行在每个端口和IP地址上。一切都很好。

我有Vue前端应用程序,它在Spring云服务之外,并试图访问注册到Eureka服务器的其余API。

现在,RestAPI只使用注册到Eureka的每个客户端应用程序的端口号。例如,在端口6005上运行并注册到Eureka服务器的市场交换服务,我正在尝试访问RestAPI,如下所示:http://192.168.201.241:6005/market/exchange-rate/usd-cny这工作正常。

但是没有端口号RestAPI不起作用示例:http://192.168.201.241/market/exchange-rate/usd-cny。我不能在每个微服务上放置端口号。在本地开发中,如何使用Eureka服务器IP地址在没有端口号的情况下访问RestAPI?

这是Eureka服务器的application.properties

server.port=8761
eureka.instance.instance-id=${spring.cloud.client.ipAddress}:${server.port}
eureka.instance.hostname=${spring.cloud.client.ipAddress}
eureka.client.registerWithEureka=false
eureka.client.fetchRegistry=false
eureka.client.serviceUrl.defaultZone=http://${eureka.instance.hostname}:${server.port}/eureka/
eureka.server.enable-self-preservation=true

这是Eureka客户的

eureka.client.serviceUrl.defaultZone=http://localhost:8761/eureka/


共1个答案

匿名用户

您必须实现一个API网关以及服务注册表,例如ZUUL api网关并通过网关执行请求。URL将类似于超文本传输协议://{host}:{api网关的端口}/{要调用的服务名称}/{资源路径}网关将调用它到服务注册表中注册的实际端口和服务