URL健康检查失败导致EDAS应用变更失败

问题描述

如果您配置了健康检查URL,应用在启动时会检查这个URL是否可以正常访问。在收到HTTP Code为200的返回码后,应用发布流程才会继续进行。如果在健康检查周期内都收到错误的响应(非200),则认为URL健康检查失败。

查看执行失败的变更记录

问题原因

在EDAS上进行应用部署、启动、扩容、缩容等操作时,URL健康检查失败,失败的可能原因如下:

  • 应用启动失败。
  • URL地址配置错误。
  • 应用配置了拦截器,URL地址被拦截。

解决方案

  1. 检查应用日志,查看应用是否正常启动,如何通过日志排查问题,请参见EDAS如何使用日志文件排查问题
  2. 检查URL地址是否配置出错,配置示例如下:
    注意:设置URL健康检查时选取的URL地址需要注意以下几点:
    • 该地址在应用正常的情况下一定要返回200,应用不正常的时候返回非200。
    • 该地址不要具有影响业务的操作。
    • 该地址响应应该尽量迅速。
    • 该地址最好不要调用其他内部接口,例如请求OSS资源,否则会造成对OSS资源非常大流量的请求。
    • 该地址返回的数据量应当尽量小。
    • 一个WAR包应用的默认运行容器是Tomcat,则应用端口默认为8080,则健康检查的URL可以设置为http://127.0.0.1:8080/order/healthCheck.html
    • 若该WAR包应用配置了容器路径为根路径,端口设置为8081,WAR包中包含一个可以标识健康状态的文件healthcheck.html,则健康检查URL为http://127.0.0.1:8081/healthcheck.html
  3. 检查应用是否配置了拦截器,拦截了对HTTP健康检查URL的请求。
  4. 处理完成后,再次部署应用。

适用于

  • 企业级分布式应用服务EDAS