.NET 6 Web API部署至Azure后出现空白页面及404错误排查
.NET 6 Web API部署Azure后出现404.0 NotFound的排查方向
Azure App Service运行时版本不匹配
检查Azure门户中App Service的配置项:进入App Service -> 配置 -> 常规设置,确认"堆栈"选项设置为.NET 6 (LTS)。如果运行时版本选错,应用无法正常加载,会导致IIS返回404。启动命令配置错误
根据部署类型配置正确的启动命令:- 框架依赖部署:在App Service的"启动命令"中填入
dotnet 你的项目名称.dll - 独立部署:直接填入项目生成的可执行文件名(比如
你的项目名称.exe)
启动命令缺失或错误会导致应用进程无法启动,IIS无法转发请求。
- 框架依赖部署:在App Service的"启动命令"中填入
web.config路由规则缺失或错误
.NET 6 Web API部署到IIS环境需要依赖web.config中的重写规则,将所有请求转发到.NET进程。检查Azure上site/wwwroot目录下的web.config,确认包含以下核心规则:<system.webServer> <rewrite> <rules> <rule name="Forward to dotnet" stopProcessing="true"> <match url="(.*)" /> <conditions> <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" /> </conditions> <action type="Rewrite" url="你的项目名称.dll" /> </rule> </rules> </rewrite> </system.webServer>若web.config缺失或规则错误,IIS无法正确路由请求到API接口。
应用进程未正常启动
通过以下方式排查启动异常:- 进入Azure门户App Service -> 诊断和解决问题 -> 查看"应用程序日志",检查是否有启动失败的报错(如依赖缺失、端口冲突)
- 访问Kudu控制台(
https://你的应用名称.scm.azurewebsites.net),查看LogFiles目录下的stdout日志,获取应用启动的详细错误信息
部署文件完整性或权限问题
- 对比本地发布后的文件与Azure上site/wwwroot目录下的文件结构,确认所有依赖文件(如NuGet包、配置文件)都已上传
- 若使用Zip Deploy,确保压缩包包含完整的发布文件,且解压后文件权限正常(可通过Kudu文件管理器查看权限)
内容的提问来源于stack exchange,提问作者Odw Mai
相关产品推荐
相关产品推荐

