[英]AWS ECS Zuul routing
我正在AWS ECS上設置Spring Cloud,但是Zuul / Eureka遇到問題。 當我嘗試點擊端點“ / api / second / service2”時,我看到此錯誤:
我正在為Eureka實例使用Elastic IP,如此處https://github.com/Netflix/eureka/wiki/Deploying-Eureka-Servers-in-EC2所述 。 我有2個Spring Boot應用程序,在Eureka中都看到了它們。 我可以直接擊中終點。
這是Eureka服務器的配置:
server:
port: 8761
eureka:
client:
fetchRegistry: false
registerWithEureka: false
eurekaServerURLContext: eureka
region: eu-west-3
eurekaServerPort: 8761
useDnsForFetchingServiceUrls: true
eurekaServerDNSName: my.dns
datacenter: cloud
服務2:
spring:
application:
name: service2
server:
port: 8882
eureka:
datacenter: cloud
instance:
preferIpAddress: true
client:
fetchRegistry: true
eurekaServerURLContext: eureka
region: eu-west-3
eurekaServerPort: 8761
useDnsForFetchingServiceUrls: true
eurekaServerDNSName: my.dns
Zuul:
pring:
application:
name: api-gateway
server:
port: 8080
eureka:
datacenter: cloud
client:
fetchRegistry: true
eurekaServerURLContext: eureka
region: eu-west-3
eurekaServerPort: 8761
useDnsForFetchingServiceUrls: true
eurekaServerDNSName: my.dns
zuul:
prefix: /api
routes:
first-service:
path: /first/**
serviceId: service1
second-service:
path: /second/**
serviceId: service2
您知道哪里可能出問題嗎?
編輯:僅當我將我的service2實例端口從8882映射到端口80時,它才有效
如我所見,您的service2
未在service2
中注冊,例如:
eureka:
client:
registerWithEureka: true
其余的配置是不需要的,那些是eureka服務器的配置,並且您不應該在任何服務中配置eureka服務器,它是在eureka服務本身中完成的。
它應該獲取注冊表,因此在service2
您將擁有
spring:
application:
name: service2
server:
port: 8882
eureka:
client:
registerWithEureka: true
fetchRegistry: true
其余的服務也一樣
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.