Azure App Service部署后访问报错:资源不存在或不可用
.NET 8 Core Azure App Service Zip部署成功但访问报错排查方案
检查部署包结构
确认Zip包根目录直接包含应用发布文件(如web.config、bin文件夹、对应名称的.dll文件等),避免文件嵌套在子文件夹中。Azure App Service需要从根目录读取启动入口,层级错误会导致无法找到应用文件。可本地解压Zip包验证结构是否正确。验证运行时配置
确保App Service的运行时匹配.NET 8:- 登录Azure门户进入目标App Service,选择「配置」>「常规设置」
- 检查「堆栈」为
.NET,「堆栈版本」选择.NET 8
也可用CLI命令查看和修改:
# 查看当前运行时配置 az webapp config show --resource-group rg-cecurechat-prod-eastus --name TestingDalle --query '[linuxFxVersion,windowsFxVersion]' # Windows环境设置.NET 8 az webapp config set --resource-group rg-cecurechat-prod-eastus --name TestingDalle --windows-fx-version "DOTNETCORE|8.0" # Linux环境设置.NET 8 az webapp config set --resource-group rg-cecurechat-prod-eastus --name TestingDalle --linux-fx-version "DOTNETCORE:8.0"查看应用日志定位错误
启用日志功能获取详细报错信息:- 门户中进入App Service,选择「日志」>「应用日志记录」
- 开启「文件系统日志」,设置日志级别为「详细」
- 触发错误后,通过「日志流」或下载日志文件分析具体问题
也可用CLI下载日志:
az webapp log download --resource-group rg-cecurechat-prod-eastus --name TestingDalle确认启动配置文件
检查web.config中的aspNetCore节点配置,确保指向正确的应用dll:<?xml version="1.0" encoding="utf-8"?> <configuration> <location path="." inheritInChildApplications="false"> <system.webServer> <handlers> <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" /> </handlers> <aspNetCore processPath="dotnet" arguments=".\DallEAPIService.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" hostingModel="inprocess" /> </system.webServer> </location> </configuration>注意
arguments中的dll名称需与发布生成的文件完全一致。重启App Service实例
部署缓存可能导致异常,手动重启实例:az webapp restart --resource-group rg-cecurechat-prod-eastus --name TestingDalle
内容的提问来源于stack exchange,提问作者Tenkorang Daniel
相关产品推荐
相关产品推荐

