描述: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
問題解決
