【问题标题】:Cannot deploy to Azure App Service from VS Code or CLI无法从 VS Code 或 CLI 部署到 Azure 应用服务
【发布时间】:2021-10-30 06:36:46
【问题描述】:
我能够通过 VS 代码在我的 Azure 订阅上创建新的 Azure 应用服务。如果我随后尝试将我的 python Web 应用程序部署到我刚刚创建的应用服务,我会收到“401 - 未经授权:访问”错误。如果我登录到 Azure 门户,我可以查看我新创建的应用服务。我可以在访问控制页面上看到我被列为贡献者。我不知道为什么我不能部署我的代码或查看文件。有人对要检查的安全设置有建议吗?我需要能够部署我的代码。谢谢。
【问题讨论】:
标签:
azure
visual-studio-code
azure-web-app-service
azure-webapps
【解决方案1】:
@Kachopsticks,抱歉!如果我的反应为时已晚。为了使社区受益,分享有助于隔离此类问题的步骤:
有一种方法可以使用 basicPublishingCredentialsPolicies禁用对 WebDeploy 端口和 SCM 站点的基本身份验证访问,看看是否是这种情况。
basicPublishingCredentialsPolicies --parent sites/ --set properties.allow=false
https://docs.microsoft.com/azure/app-service/deploy-configure-credentials?tabs=cli#webdeploy-and-scm
您可以从 Azure 门户重新下载发布配置文件,并在 Visual Studio 中导入发布设置以进行部署。
- 在 Azure 门户中,打开 Azure 应用服务。
- 转到获取发布配置文件并将配置文件保存在本地。
在您保存它的位置生成了一个带有 .publishsettings 文件扩展名的文件,您可以将其导入 VS,然后尝试重新部署。
此外,Azure 应用服务支持两种类型的本地 Git 和 FTP/S 部署凭据:
User-level credentials 整个 Azure 帐户的一组凭据。
App-level credentials(每个应用程序的一组凭据。它只能用于部署到该应用程序)-。它们不能手动配置,但可以随时重置。要通过 (RBAC) 授予用户访问应用程序级凭据的权限,该用户必须是应用程序的贡献者或更高级别(包括网站贡献者内置角色)。读者不得发布,也无法访问这些凭据。