2017-03-06 157 views
0

我没有经验春微服务和zuul配置,所以我需要一些帮助。无法通过网关访问微服务

我有一个微服务运行在jijster-registry上,我试图通过网关从我的应用程序访问微服务。

在我的应用程序在当前的路由,该服务:

enter image description here

如果我访问时,我的应用程序启动弹簧启动的应用程序的一切服务工作正常;但是当我在Tomcat上部署我的应用程序相同的请求返回404

这里是zuul配置:

zuul: 
    routes: 
    assessmentapi: 
     path: /assessmentapi/** 
     serviceId: assessmentapi 
     url: http://192.168.80.44:8081/assessment-api 

和HTTP GET请求

$http.get('/assessmentapi/main/....) 
+0

端点是否可以通过大摇大摆访问?在“API”页面的网关上以管理员身份登录时,您可以访问swagger-ui。您可以在右上角的微服务之间进行切换。 –

+0

嘿是的,它是可访问的,我附加的图像是从可用服务的网关 –

回答

1

你不应该写在URL部分你的配置。正如我们在网关截图中所看到的,由于Eureka和Registry,网关已经知道该服务的IP。 IP地址不应进入配置,因为这些地址是动态确定的。

+0

嘿皮埃尔,如果​​我从配置中删除url我得到这个错误 - 负载平衡器没有可用的服务器为客户端:评估api关于上一个问题:我将应用程序部署到tomcat的根目录并且工作正常,这意味着application_name在/上下文路径之后,当应用程序部署在tomcat上会导致问题。如何在tomcat上部署应用程序时忽略application_name?谢谢 –

+0

您是否正在运行JHipster注册表,您可以在那里看到应用程序吗?而你忽略application_name是什么意思? –

+0

是在jijster-registry上注册的应用程序,与微服务相同。可能我没有解释得很好,如果我以spring启动的方式申请$ http.get('/ assessmentapi/main/....)返回成功(localhost:8080),但是如果我在tomcat localhost上启动: 8080/application_name它与404一起使用。在tomcat的根目录中部署应用程序后,上下文路径为localhost:8080 /没关系。 –