通过Visual Studio部署带MySQL的ASP.NET项目到Azure Web App遇401错误求助
解决Azure Web App部署401未授权问题及完整部署指南
一、先排查401未授权的核心原因
- 确认Visual Studio使用的发布凭据是Azure Web App发布配置文件里的内容,别用Azure账号密码。去Azure门户的Web App -> 部署中心 -> 下载发布配置文件,在Visual Studio里直接导入,避免手动输错。
- 检查Web App的部署凭据:在Azure门户Web App -> 配置 -> 部署凭据,核对你在Visual Studio里输的用户名和密码,不对就重置。
- 确保你的Azure账号对目标Web App有Contributor或更高权限,权限不够也会导致授权失败。
二、创建Azure Web App
- 登录Azure门户,搜“Web App”点创建。
- 填基础信息:
- 订阅:选你的Azure订阅
- 资源组:新建或选已有资源组
- 名称:填唯一的Web App名称(比如你用的webappsuly2)
- 发布:选“代码”
- 运行时堆栈:选对应ASP.NET版本(比如ASP.NET Core 6.0)
- 操作系统:按项目选Windows或Linux
- 区域:选离用户近的区域
- 点“查看+创建”,确认信息后点创建,等部署完成。
三、创建Azure MySQL数据库
- 在Azure门户搜“Azure Database for MySQL 灵活服务器”(推荐用这个,功能更全)点创建。
- 填基础信息:
- 订阅、资源组:和Web App保持一致
- 服务器名称:填唯一名称
- 管理员用户名:设数据库管理员账号
- 密码:设符合要求的密码
- 区域:和Web App同区域,减少延迟
- 配置网络:选“允许Azure服务访问此服务器”,也可以加你的本地IP方便开发调试。
- 点“查看+创建”,确认后创建数据库,等部署完成。
- 部署完进入数据库服务器,点“数据库”,新建一个数据库(比如Dentistry)。
四、配置Web App与MySQL的连接
- 在Azure门户进你的Web App,点“配置” -> “应用程序设置”。
- 点“新建应用程序设置”,加连接字符串:
- 名称:
ConnectionStrings:Dentistry(要和ASP.NET项目里的连接字符串名称对应) - 值:
Server=<你的MySQL服务器名称>.mysql.database.azure.com;Database=Dentistry;Uid=<管理员用户名>;Pwd=<管理员密码>;SslMode=Required - 类型:选“MySQL”
- 名称:
- 保存应用程序设置。
五、通过Visual Studio发布ASP.NET项目
- 打开ASP.NET项目,右键项目 -> 选“发布”。
- 发布目标选“Azure” -> “Azure App Service(Windows/Linux)”,点下一步。
- 登录Azure账号,选之前创建的Web App,点下一步。
- 发布设置里确认连接信息是从Azure导入的(别手动输),点“发布”。
- 要是还出授权问题,试试导入Azure下载的发布配置文件:在发布页面点“导入配置文件”,选从Azure门户下的Web App发布配置文件,直接发布。
内容的提问来源于stack exchange,提问作者Barzan Hassan
相关产品推荐
相关产品推荐

