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 “所有实例上的服务受损。”