netflix zuul-simple-webapp.war在tomcat下启动

按照netflix 在github 的wiki的文档使用

gradlew jettyRun

可以启动jetty来进行测试。

在本地build war 以后,我放在tomcat 运行的时候,却不可以运行。

这里遇到了一些问题,记录如下:

1. Connection pool is shut down.

经查,这个是样例中groovy/filters/route/SimpleHostRoutingFilter 使用HttpClient 不当的问题。

在启动jetty中也可以观察到。

 
2. url在tomcat 无法打开的问题
在github 的wiki 文档中可以看到 localhost:8080/ 是可以看到apache.org的页面的。
而在tomcat中明显需要 ContextPath. 于是切换成 localhost:8080/zuul/ 无法看到任何东西。
 
原因在于,其中routing 的时候,在 groovy/filters/route/SimpleHostRoutingFilter 中使用了
request.getRequestUri()
其中包含了 /zuul/
于是本来是请求 http://apache.org/ 的,在tomcat中变成了 http://apache.org/zuul,于是tomcat中请求就无法正常相应了。
 
解决方案:
修改groovy/filters/route/SimpleHostRoutingFilter 中代码
 

转载于:https://www.cnblogs.com/lykm02/p/5051671.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值