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

使用Azure Zipdeploy UI部署应用出现无权限访问报错咨询

Azure App Service ZipDeploy 部署403权限错误修复方案

根因说明

两种部署方式的目录结构差异直接导致报错:

  • VS Code Azure 扩展部署时,会自动将项目产物直接上传到 App Service 的 site/wwwroot 根目录,同时自动生成适配运行环境的 web.config 配置,IIS 可正常寻址到入口文件,应用运行正常。
  • ZipDeploy UI 部署时,若本地压缩包是直接选中项目外层文件夹生成的,解压后会在 wwwroot 下新增一层嵌套文件夹,你手动添加的 web.config 要么存放路径错误,要么配置的入口路径和实际文件路径不匹配,IIS 无法找到可访问的入口资源,就会抛出 "You do not have permission to view this directory or page" 错误。

修复步骤

  • 调整压缩包打包规则
    不要选中项目外层文件夹压缩,打开本地项目的根目录,全选所有应用文件、静态资源、以及你编写的 web.config 后再进行压缩,确保压缩包根目录就是所有应用文件,不存在外层嵌套文件夹。
  • 校验 web.config 配置
    可直接复用 VS Code 部署时自动生成的 web.config 内容,避免手写配置出现路径错误,以下为Node.js应用的参考配置:
    <configuration>
      <system.webServer>
        <handlers>
          <add name="iisnode" path="server.js" verb="*" modules="iisnode"/>
        </handlers>
        <rewrite>
          <rules>
            <rule name="StaticContent" stopProcessing="true">
              <match url=".*" />
              <conditions>
                <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="false" />
              </conditions>
              <action type="None" />
            </rule>
            <rule name="DynamicContent">
              <match url=".*" />
              <action type="Rewrite" url="server.js" />
            </rule>
          </rules>
        </rewrite>
      </system.webServer>
    </configuration>
    
  • 重新部署验证
    将调整后的压缩包上传到 ZipDeploy UI 完成部署后,可进入 App Service 的 Kudu 控制台查看 wwwroot 目录结构,确认所有应用文件和 web.config 直接存放于 wwwroot 根目录,无嵌套文件夹即可正常访问。

快速替代方案

如果不想调整打包规则,可在 ZipDeploy 部署完成后,直接进入 Kudu 控制台,将嵌套文件夹内的所有文件剪切到 wwwroot 根目录,覆盖现有文件即可恢复访问。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 23:06:03