描述:gateway路由訪問部署在 其他主機 的服務失敗
一、問題分析
1、gateway路由訪問報錯如下
2、查看eureka注冊中心 master-service 服務注冊了兩個
可以看出,gateway路由分發到了 windows10.microdone.cn
上。在eureka注冊中心找到該服務確實已被注冊,但是從gateway報錯信息可以看到 java.net.UnknownHostException: windows10.microdone.cn:Name or service not know
,說明gateway無法識別 該地址,從而路由失敗。
默認情況下,eureka使用 機器的主機名
進行服務注冊,可以看到注冊表中zbp1gbi4yst5no4u1rapxzi
windows10.microdone.cn
兩個服務使用的都是 機器的主機名
,而通過 機器的主機名
gateway無法正常路由到對應的服務器
二、解決方案
使用IP
進行服務注冊,這樣gateway就能通過ip成功找到對應的服務
服務端添加如下配置,讓服務使用IP
進行服務注冊
eureka:
instance:
prefer-ip-address: true
問題解決