spring-boot - Azure 应用程序服务为基于 Spring 启动 Java 8 的 war 返回 404

标签 spring-boot azure azure-web-app-service

我正在尝试在 Azure 应用服务上部署基于 Springboot 的 war 文件,我可以看到服务器在日志中启动,但当我尝试访问网站时,它返回 404。

这是我的日志的样子:-

从应用服务日志启动命令:-

'2022-05-09T22:17:09.766Z INFO  - Starting container for site
2022-05-09T22:17:09.766Z INFO  - docker run -d -p 80:80 --name testing3_0_315c5bf8 -e WEBSITE_SITE_NAME=testing3 -e WEBSITE_AUTH_ENABLED=False -e WEBSITE_ROLE_INSTANCE_ID=0 -e WEBSITE_HOSTNAME=testing3.azurewebsites.net -e WEBSITE_INSTANCE_ID=192ae7e12efabd86b8f1992c5d0955e31956c2538c35216038ae1c4c72bce58c -e HTTP_LOGGING_ENABLED=1 -e JAVA_TOOL_OPTIONS=-javaagent:/agents/java/applicationinsights-agent-codeless.jar mcr.microsoft.com/azure-app-service/java:8-jre8_191030025800'

成功启动日志:-

'2022-05-09 22:19:49.960  INFO 123 --- [main] com.case.client                    : Started testing in 111.231 seconds (JVM running for 138.403)'

我尝试在 Stackoverflow 上寻找它,人们建议了以下内容,我尝试了所有这些,但没有任何效果:

  1. 将“始终开启”标志更改为"is"。

  2. 在配置中添加端口映射,但没有帮助。

  3. 重新启动应用几次。

看起来我的请求根本没有到达我的应用程序。

有人知道我在这里做错了什么吗?

最佳答案

我在使用 Spring Boot 3 时遇到了同样的问题。这篇堆栈溢出文章已经有 8 个月了,因为它可能是不同的问题。

我联系了 Microsoft 支持,因为我的应用程序在本地运行没有任何问题。仅与 Azure Web 应用服务结合使用时,应用程序始终返回 HTTP 404。我使用 IntelliJ Azure 插件、maven 插件和 Azure 管道部署了应用程序。无论哪种方式,服务器始终返回 HTTP 404。

我们可以在 Azure Web 服务日志中看到传入的 http 请求,但它并未传递到已部署的应用程序。但 Spring Boot 应用程序已启动并正在运行。我降级到 Spring Boot 2.7.7,应用程序在 Azure 应用服务上运行没有任何问题。

Microsoft 支持人员结合无代码 Application Insights 确认了 Spring Boot 3 和 Azure 应用服务的问题。该问题将在 2023 年 2 月中旬的下一次平台更新中得到解决。

支持人员提供了一种解决方法:手动安装 Application Insights SDK(但我们尚未对此进行测试)

没有关于此问题的官方文章。我认为这可能是宣布此问题以帮助其他开发人员的好地方。

关于spring-boot - Azure 应用程序服务为基于 Spring 启动 Java 8 的 war 返回 404,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72178863/

相关文章:

java - 无法访问maven/spring boot子模块的webapp资源

azure - Azure Cloud Shell 中 mkdir 所需的 Sudo 权限

azure - 免费的 Azure AD 是否允许自行重置密码?

asp.net-mvc - 从 Azure 网站取消发布 MVC 4 项目

powershell - Azure Web 应用程序 FTP 550 访问被拒绝

php - 如何在 Azure 网站上安装 ionCube?

java - 使用stormpath和spring-boot检查用户是否登录

java - 在没有主应用程序的情况下从 application.properties 获取值(value)

spring-boot - Zuul -> Eureka 服务器,基本认证问题

azure - 当区域出现故障时,单个 Azure VM 会发生什么情况