Eureka註冊服務後,ip展示不正確,調用失敗等問題解決

問題描述:

        當同一服務名註冊多個分佈在不同服務器上的服務是,客戶端在調用時,如果調用端和被調用端在同一服務器上可以調用成功,其他均不能調用成功。在eureka上展示出來的效果如下:

圖上展示的是配置後可以正常訪問的情況,也就是說,spring cloud的feign會自動把你在feign上的服務名轉換爲圖片中左下角展示的這個ip。在eureka這個頁面左下角展示的是什麼,你服務實際使用httpclient調用的時候訪問的地址就是什麼。

不廢話,核心配置:

eureka.instance.prefer-ip-address=true

注意,是在eureka下,別放到別的地方,沒啥用。除非有特殊用途,我們目前項目,發現都把配置文件放在了sever下了以爲有,可是並沒有生效,這個問題不大,但是報錯信息不明顯,只是會報unknowHostException,其他好多地方會說timeout,這個是兩回事,不要搞混。timeout和unknowHost不一樣。一個是連不通,一個是找不到。另外,如果這一行還不夠,再加幾行:

eureka.instance.preferIpAddress=true
eureka.instance.health-check-url=http://${spring.cloud.client.ipAddress}.${server.port}${server.context-path}/health
eureka.instance.status-page-url=http://${spring.cloud.client.ipAddress}.${server.port}${server.context-path}/info
eureka.instance.metadataMap.management.context-path=${server.context-path}

僅此記錄,也希望可以幫到大家。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章