AWS Beanstalk 上的 Spring Boot 抛出 404

Posted

技术标签:

【中文标题】AWS Beanstalk 上的 Spring Boot 抛出 404【英文标题】:Spring Boot on AWS Beanstalk throwing 404 【发布时间】:2018-05-26 10:19:29 【问题描述】:

我正准备在 AWS Elastic Beanstalk 上托管我的 Spring Boot 后端。因为这是第一次这样做,我关注了这个tutorial。

简而言之:我配置并使用 awsebcli 进行初始化和部署。到目前为止进展顺利。在教程结束时,这个家伙的意思是我应该将我的 Spring Boot 应用程序中的 server.port 切换到 5000,我做了。

我检查了所有日志并确保应用程序启动良好,Tomcat 也侦听端口 5000。但是我的 nginx 的 access.log 中仍然有这个烦人的 404。

[12/Dec/2017:16:13:08 +0000] "GET /health HTTP/1.1" 404 0 "-" "ELB-HealthChecker/1.0" "-"

Healthcheck 也意味着“严重”。并且无法通过邮递员访问由 EB 提供的 url。我还检查了是否可以直接指定端口 ulr:5000/health

This 帖子提到为端口 5000 创建入站规则。我也这样做了,但没有任何改变。

谁能给我一个提示?我怀疑这些安全组有问题。

【问题讨论】:

nginx 是否配置为将/health 传递给您的应用程序?您的应用程序是否定义了/health 路径? Beanstalk 中的健康检查是如何配置的?转到All Applications -> Your Environment -> Configuration -> Load Balancing 并检查“应用程序健康检查 URL”。 【参考方案1】:

我犯了一个愚蠢的错误。一切都配置得很好,但一切的基本路径是 /api/* 这导致我的 /health 检查失败,(当然)404。

感谢@stdunbar 的帮助。这让我再次交叉检查了所有 API。

【讨论】:

以上是关于AWS Beanstalk 上的 Spring Boot 抛出 404的主要内容,如果未能解决你的问题,请参考以下文章

AWS Elastic Beanstalk 上的 Java 应用程序会话超时

将 Spring Boot 应用程序部署到 AWS beanstalk

Spring Boot 和单实例 AWS Beanstalk SSL 设置错误

AWS Elastic Beanstalk “所有实例上的服务受损。”

AWS Elastic Beanstalk - tomcat java spring boot 应用程序的问题

AWS Elastic Beanstalk——rails 部署问题