You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring 3.2.0 REST API部署Azure成功但端点报404错误求助

Spring Boot部署Azure后404问题排查方案

一、确认Azure运行时配置匹配项目需求

  • 登录Azure Portal进入目标Web App,在「配置 > 常规设置」中检查:
    • Java版本必须选17,和本地开发环境一致
    • Web容器选择Java SE(Spring Boot自带内嵌容器,无需额外配置Tomcat等外部容器,选错会导致路径兼容问题)
  • 手动指定启动命令:在「常规设置」的启动命令栏填入java -jar /home/site/wwwroot/server.jar,避免Azure自动识别异常

二、验证JAR包是否部署到正确路径

你提到在.scm站点看不到项目文件,说明部署过程中文件可能未传到Azure指定目录:

  • 通过Web App的「高级工具 > 启动SSH会话」登录服务器,执行命令ls /home/site/wwwroot/,查看是否存在server.jar。如果没有,说明部署步骤存在路径问题
  • 调整deploy.yml的下载与部署逻辑,简化路径层级:
    - name: Download artifact from build job
      uses: actions/download-artifact@v3
      with:
        name: build
        path: ./
    - name: Check downloaded files
      run: ls ./
    - name: Deploy to Azure Web App
      id: deploy-to-webapp
      uses: azure/webapps-deploy@v2
      with:
        app-name: 'DevOpsProjectEfrei'
        slot-name: 'Production'
        publish-profile: ${{ secrets.AZUREAPPSERVICE_PUBLISHPROFILE_1BD6BC13408746048A3DDF66BE34382E }}
        package: './server.jar'
    
    新增的Check downloaded files步骤可确认JAR包是否成功下载到当前工作目录

三、检查Spring Boot应用的路径配置

  • 核对本地application.properties或application.yml中的server.servlet.context-path配置:
    • 如果设置了/api作为上下文路径,Azure上的访问路径应为{mywebsite}.azurewebsites.net/api/students(和本地一致)
    • 若未配置上下文路径,则访问路径应为{mywebsite}.azurewebsites.net/students,避免多写前缀导致404
  • 查看Azure应用启动日志:进入Web App的「监测 > 日志流」,查找Spring Boot的启动日志。如果看不到启动日志,说明应用未正常启动,大概率是JAR包未部署到位或运行时配置错误

四、排查部署源与槽位配置

  • 在「部署中心」确认部署源为GitHub Actions,且最新部署记录显示成功,无其他部署源(如FTP、本地Git)覆盖已部署文件
  • 若使用了部署槽位,确认槽位的Java版本、启动命令等配置与主站点完全一致,槽位配置差异会导致部署后无法正常访问

五、其他细节检查

  • 端口配置:如果Spring Boot手动设置了非8080的端口,需在Azure「配置 > 应用设置」中添加WEBSITES_PORT变量,值为自定义端口号
  • 防火墙限制:确认Web App的防火墙未限制外部访问IP(若开启了IP限制,需将访问IP加入允许列表)

内容的提问来源于stack exchange,提问作者Frik

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 04:50:20