【问题标题】:Beginner-jJava- Amazon Elastic Beanstalk- Unable to correctly specify health check url-also,what is base urlBeginner-jJava-Amazon Elastic Beanstalk-无法正确指定运行状况检查 url-还有什么是基本 url
【发布时间】:2026-01-19 12:10:02
【问题描述】:

我已经用 Java 创建了一个示例 Web 应用程序。它没有错误,我能够成功创建一个 WAR 存档。我也在本地 Tomcat 7 服务器上成功测试了这个。

现在,这个示例 Web 应用程序有 2 个 servlet——“home”和“runsinglecrawljob”。战争档案的名称是“sparkcrawler0.12.war”。

因此,在本地 Tomcat 中,我在

处访问 Web 应用程序
 http://localhost:8080/SparkCrawler0.12/runsinglecrawljob

另一个servlet是

 http://localhost:8080/SparkCrawler0.12/home

现在,当我创建 Elastic Beanstalk 环境时,我指定了运行状况检查 url="/home"

但是我收到错误消息,表明运行状况检查 url 没有响应,因此应用程序没有在 Elastic Beanstalk 中运行 - 它显示 503 错误 - 根据 Google Chrome,这是确切的消息 -

“HTTP 错误 503(服务不可用):服务器当前无法处理请求。此代码表示这是暂时的情况,服务器将在延迟后重新启动。”

现在,健康检查 URL 的正确值是多少?

另外,如果我的网址是

 http://spark.elasticbeanstalk.com

如 Elastic Beanstalk 中所定义,那么我是否可以在

访问 Web 应用程序
 http://spark.elasticbeanstalk.com/SparkCrawler0.12/runsinglecrawljob

或者我是否可以通过

访问网络应用程序
 http://spark.elasticbeanstalk.com/runsinglecrawljob ?

【问题讨论】:

  • 您尝试将/SparkCrawler0.12/home 作为您的健康检查网址吗?此外,如果您的健康检查结果为负,您的 ELB 将不会注册活动实例,这就是您无法访问 web 应用程序的原因。
  • @Christopher 我按照你的建议尝试了网址,但仍然面临同样的问题......还有什么想法吗?谢谢...

标签: java amazon-web-services amazon-elastic-beanstalk


【解决方案1】:

我不知道这是否相关,但我有一个非常相似的问题,但使用的是 PHP codeigniter 应用程序。

我上传了应用程序,'index.php' 是应用程序的正常起点。 我还有一个与 index.php 平行的简单“phpinfo.php”。

所以,URL 是 myApp.elasticbeanstalk.com,它点击 index.php,没问题。

但是,对于我的健康检查,我将其设置为 /phpinfo.php,因为我希望将 myApp.elasticbeanstalk.com/phpinfo.php 用作健康检查。

如果我这样做,运行状况检查总是会失败,因此我的应用程序无法运行,我会看到明显的厄运红色框。

这让我发疯了。

(我为什么要这样做?--这是因为我想向应用程序根目录添加一个 .htaccess 文件,该文件需要为除 phpinfo.php 文件之外的所有内容提供密码,并且我在本地对其进行了测试并且它可以工作。我还没有添加 .htaccess 文件——我只是想看看是否可以将运行状况检查指向“/”之外的其他内容并使其正常工作。

更新—— 我整理了我的问题。事实证明,当我启动这些弹性 beanstalk 环境之一时,我必须立即设置 healthcheck url 并且有 /phpinfo.php 然后上传我的应用程序。当我早些时候对此大惊小怪时,我稍后会尝试编辑配置以更改运行状况检查 url,但这永远不会起作用,并且实例将永远不会再次活跃。

【讨论】: