You need to enable JavaScript to run this app. Azure App Service部署war包到wwwroot后仍显示默认站点如何解决
优惠活动
大模型
产品
解决方案
定价
更多

Azure App Service部署war包到wwwroot后仍显示默认站点如何解决

Azure App Service上传War包未生效排查及解决方案

常见原因前置说明

Azure App Service Windows环境默认的Java运行时不会自动解压识别wwwroot根目录下的war包,且默认静态文件路由优先级高于Java应用路由,才会出现删除默认html文件后仍返回默认页的问题。

排查步骤

  • 确认App Service运行时栈配置:登录Azure门户,进入对应App Service页面,左侧菜单选择配置->常规设置,检查堆栈设置是否匹配你使用的Java版本(如Java 8/11/17),Java web服务器栈是否选择了对应的Tomcat/Jetty版本,而非静态文件/ASP.NET等其他栈
  • 确认war包上传路径:Windows环境Java应用默认的war包部署路径不是wwwroot根目录,而是site/wwwroot/webapps目录,直接传到wwwroot根目录的war包不会被Tomcat自动识别解压
  • 确认默认文档配置:进入配置->默认文档,检查是否还有残留的hostingstart.html默认项,即使删除了物理文件,部分实例缓存仍会返回默认页
  • 确认应用已重启:war包上传后需要触发应用重启才会加载新的部署包,未重启时会持续运行原有默认进程

解决方案

方案1:使用标准部署路径上传

  • 用WinSCP连接到App Service的FTP空间,进入site/wwwroot/webapps目录
  • 将war包重命名为ROOT.war(需要作为根路径应用时使用),上传到该目录,等待3-5分钟让Tomcat自动解压部署
  • 回到Azure门户App Service页面,点击顶部重启按钮,重启实例后再访问站点验证

方案2:修改wwwroot映射配置

如果必须部署在wwwroot目录,可修改web.config配置:

  • 在wwwroot目录下新建web.config文件,写入以下内容(适配Tomcat环境):
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <system.webServer>
    <handlers>
      <add name="httpPlatformHandler" path="*" verb="*" modules="httpPlatformHandler" resourceType="Unspecified" />
    </handlers>
    <httpPlatform processPath="%AZURE_TOMCAT_HOME%\bin\startup.bat" arguments="" stdoutLogEnabled="false" startupTimeLimit="3600" startupRetryCount="3" />
  </system.webServer>
</configuration>
  • 将war包上传到wwwroot目录,重启应用后生效

方案3:清理缓存强制刷新

如果上述操作后仍显示默认页:

  • 进入App Service的高级工具(Kudu),点击调试控制台->CMD,进入site/wwwroot目录,确认所有默认html文件已删除
  • 进入%TEMP%目录,删除所有Tomcat临时缓存文件
  • 本地访问站点时按Ctrl+Shift+R强制刷新浏览器缓存,避免本地缓存返回旧页面

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.11 14:24:04