添加Freemarker模板后缀后Hystrix Dashboard出现404问题
解决Hystrix Dashboard返回404与Freemarker后缀配置冲突的问题
我刚踩过这个坑!在Spring Boot + Spring Cloud的微服务项目里引入Hystrix依赖后,满心欢喜去访问http://localhost:8080/omnesys/hystrix想打开Dashboard,结果一直弹404。排查了半天,才发现是项目YAML里的Freemarker配置搞的鬼——我们为了实现Freemarker邮件功能,加了这么一行:
spring: freemarker: suffix: .html
问题根源
Hystrix Dashboard内部使用的模板文件默认后缀并不是.html,当全局强制设置Freemarker的模板后缀为.html后,会干扰Hystrix内部模板的解析逻辑,导致系统找不到对应的Dashboard页面资源,最终返回404错误。
解决办法
有两种思路可以搞定这个问题:
- 最简单的方案:直接移除
spring.freemarker.suffix这个全局配置。Freemarker邮件功能完全可以在具体的邮件模板引用时指定后缀,没必要全局统一设置,这样Hystrix Dashboard就能正常加载页面了。 - 保留全局配置的进阶方案:如果业务必须保留全局的Freemarker后缀设置,可以单独为Hystrix相关的模板配置不同的后缀规则,比如通过配置
freemarker.template-loader-path指定Hystrix模板的独立路径,并为该路径下的模板设置专属后缀。不过这种方式配置起来相对繁琐,除非必要,更推荐第一种方案。
内容的提问来源于stack exchange,提问作者Alex Man
相关产品推荐
相关产品推荐

