2017-09-24 122 views
0

我正在開發一個流程,其中我有ng4 +啓動應用在https://host_a:8080上運行,後端服務在https://host_b:8080上有一些API。Zuul路由不起作用,給出了404:Spring Boot + Cloud + Zuul

我在兩個主機都有RestController/Path,即我需要一些URL來將localhost(host_a)和其他地址打到host_b。

在application.yml中,我嘗試了幾乎所有可能的Zuul路由組合,但仍然獲得了所有host_b rest API的404。 Host_a API工作良好。

注意:當host_a上沒有rest API並且host_a上沒有自定義篩選器時,我們可以使用此工具。

  1. 使用過濾器有什麼問題嗎?我沒有看到zuul過濾任何日誌後,現在我加入這個控制器HOST_A

我知道我可以使用forward屬性路由到本地主機效果很好。但不知何故host_b休息都給出了404錯誤。

我實現需求 -

  1. http://host_a:8080/api/abc/user在打本地主機,即HOST_A

  2. http://host_a:8080/api/xyz/getall在HOST_B打

  3. 重要的 - 需要一個定製zuul過濾器,增加了一定的頭以請求然後按照第2點的說明將其路由到host_b。 - 已經到位,但現在看不到內部日誌。

我試過already-

zuul:
   路線:
        XYZ:
           路徑:/ API/XYZ/**
           網址:http://host_b:8080/api/xyz

我試過幾乎所有的東西,使用前綴,帶前綴,只有主辦網址,使用前向本地路由等沒有什麼工作。

請幫助我解決可能的原因,我可能會忽略或丟失什麼東西?

在此先感謝。

+0

在Zuul上,您是否嘗試過去/ trace和/ routes頁面來幫助您排除故障? –

+0

是的,路由映射似乎很好。它顯示路線。但無論如何檢查請求是否已被路由?根據host_a的請求指向哪個host_b url? – hungrytolearn

+0

>但無論如何檢查請求是否已被路由? 是的。 /跟蹤。 –

回答

0

最後,我能夠解決問題。

1.我不得不改變球衣@Path到井現在從1個彈簧@RestController
2.更改Zuul過濾以999

作品。