1

我想要設置zuul和底層微服務的方式,所有服務將在'/網關'上下文中。Zuul路由:一個端點與多個微服務

例如:

微服務1具有:http://localhost:8081/api/hello

微服務2具有:http://localhost:8082/api/bye

我會希望能夠經由zuul訪問微服務如下:

微服務1 :http://localhost:8080/網關/microservice1/api/hello

的microService 2:http://localhost:8080/網關

我試圖對此進行設置,但似乎這些請求都沒有得到正確路由/microservice2/API /再見。

我希望前端將所有客戶端REST呼叫路由到以'/ gateway'開頭的服務器的原因是,它爲前端提供了更簡單的維護。

我application.yml:

zuul: 
prefix: /gateway 
    routes: 
    microservice1: 
     path: /microservice1/** 
     serviceId: microservice1 
     strip-prefix: true 
    microservice2: 
     path: /microservice2/** 
     serviceId: microservice2 
     strip-prefix: true 

謝謝

+0

你怎麼有兩個微服務和網關在相同的端口號......他們是部署在不同的服務器上或一切都打包在一起。 –

+0

每項服務都在其自己的端口上啓動。更新了問題。 Zuul在8080上,M1在8081上,M2在8082上。更新了問題。謝謝 –

回答

2

試試這個配置,讓我知道這是否爲你。我想你將不得不像以下定義一個全局的strip-prefix:true。實際上,它也應該沒有帶前綴的工作,因爲默認情況下它會去掉兩個前綴。

zuul: 
prefix: /gateway 
strip-prefix: true 
    routes: 
    microservice1: 
     path: /microservice1/** 
     serviceId: microservice1 
     strip-prefix: true 
    microservice2: 
     path: /microservice2/** 
     serviceId: microservice2 
     strip-prefix: true 
相關問題