簡體   English   中英

關鍵 Web 服務上的 Spring Cloud (Eureka/Ribbon) 連接被拒絕

[英]Connection refused for spring cloud (Eureka/Ribbon) on pivotal web service

我有一個 Spring Cloud 應用程序(Eureka、Ribbon、Zuul),它可以在 Spring Tools Suite 本地完美運行。 當我部署到 Pivotal Web 服務時,這些服務向 Eureka 注冊(即,它們顯示在 Eureka 控制台中),但是當我嘗試讓一個服務調用另一個服務時,連接被拒絕。 當我嘗試通過 Zuul 時,出現轉發錯誤,然后連接被拒絕。

我嘗試了以下各種組合,但似乎沒有任何幫助。

eureka:
 client:
  serviceUrl:
   defaultZone: http://myeurekaserver.cfapps.io/eureka/
 instance:
    preferIpAddress: true
#   hostname: ${CF_INSTANCE_IP:localhost}
#   nonSecurePort: ${CF_INSTANCE_PORT:${PORT:${server.port:8002}}}
    hostname: ${vcap.application.uris[0]}
    nonSecurePort: 80

對於服務調用的服務,我使用 Autowired RestTemplate。 在我代碼的另一部分中,我使用了非 Autowired RestTemplate。 當我將它與 discoveryClient.getInstances(...) 一起使用時,我確實取回了我的服務的 IP 地址和端口。 如果我嘗試直接調用這些 IP 地址/端口,我也會收到連接被拒絕。

有任何想法嗎?

找到了我自己的答案 - 在 PWS 中,必須啟用 CF 網絡。 然后需要應用規則讓服務直接相互通信。

https://docs.cloudfoundry.org/adminguide/container-networking.html

試試這些建議:

  1. 重啟運行 Zuul 的實例,看看是否能解決問題

  2. 嘗試監視 /metrics 中的 counter.servo.discoveryclient* 值

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM