2017-03-06 160 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 /沒關係。 –