我有簡單的服務:Zuul代理不能路線,導致com.netflix.zuul.exception.ZuulException:轉發錯誤
交易爲核心的服務和交易的API服務。
transactions-api-service調用transactions-core-service來返回事務列表。通過hystrix命令啓用transactions-api-service。
兩者都登記在尤里卡服務器與下面的服務標識:
TRANSACTIONS-API-SERVICE n/a (1) (1) UP (1) - 192.168.2.12:transactions-api-service:8083
TRANSACTIONS-CORE-SERVICE n/a (1) (1) UP (1) - 192.168.2.12:transactions-core-service:8087
下面是Zuul服務器:
@SpringBootApplication
@Controller
@EnableZuulProxy
public class ZuulApplication {
public static void main(String[] args) {
new SpringApplicationBuilder(ZuulApplication.class).web(true).run(args);
}
}
Zuul配置:
===============================================
info:
component: Zuul Server
server:
port: 8765
endpoints:
restart:
enabled: true
shutdown:
enabled: true
health:
sensitive: false
zuul:
ignoredServices: "*"
routes:
transactions-api-service:
path: transactions/accounts/**
serviceId: transactions-api-service
eureka:
client:
serviceUrl:
defaultZone: http://localhost:8761/eureka/
logging:
level:
ROOT: INFO
org.springframework.web: DEBUG
===============================================
當我嘗試調用交易-api服務與URL(http://localhost:8765/transactions/accounts/123/transactions/786
)我得到Zuul例外:
2016年2月13日11:29:過濾
com.netflix.zuul期間錯誤:29.050 WARN 4936 --- [NIO-8765-EXEC-1] oscnzfilters.post.SendErrorFilter .exception.ZuulException:轉發錯誤 at org.springframework.cloud.netflix.zuul.filters.route.RibbonRoutingFilter.forward(RibbonRoutingFilter.java:131) 〜[spring-cloud-net flix-core-1.1.0.M3 .jar:1.1.0.M3] at org.springframework.cloud.netflix.zuul.filters.route.RibbonRoutingFilter.run(RibbonRoutingFilter.java:76) 〜[spring-cloud-netflix-core-1.1.0。 M3.jar:1.1.0.M3] ......
如果我單獨調用transactions-api-service(使用localhost /accounts/123/transactions/786
),它工作正常。
我是否缺少Zuul上的任何配置?