azure - DevOps 部署后 wwwroot 上的访问被拒绝

标签 azure azure-devops kudu

我已使用 Azure DevOps 将 .Net Core Web 应用程序部署到 Azure 应用服务。现在,当我尝试使用 Kudu 在 'D:\home\site\wwwroot' 中创建文件时,它显示:

409 Conflict: Could not write to local resource 'D:\home\site\wwwroot\anc' >due to error 'Could not find file 'D:\home\site\wwwroot\anc'.'.

我注意到“D:\home\site\wwwroot”目录上的权限与我使用发布配置文件部署的类似 Web 应用程序中的权限不同

有问题的应用程序的 Get-Acl 结果:

PS D:\home\site\wwwroot> Get-Acl "D:\home\site\wwwroot"
Get-Acl "D:\home\site\wwwroot"




    Directory: D:\home\site





Path    Owner                   Access                                         

----    -----                   ------                                         

wwwroot IIS APPPOOL\luncher-dev NT AUTHORITY\SYSTEM Allow  FullControl...      


在其他类似应用程序上获取 Acl 结果:

PS D:\home\site\wwwroot> Get-Acl "D:\home\site\wwwroot"
Get-Acl "D:\home\site\wwwroot"




    Directory: D:\home\site





Path    Owner                  Access                                          

----    -----                  ------                                          

wwwroot BUILTIN\Administrators Everyone Allow  DeleteSubdirectoriesAndFiles,...


Azure DevOps 的相应发布管道

Dev Ops Pipeline

如何使 wwwroot 目录可写?

最佳答案

更改此应用程序设置键

WEBSITE_RUN_FROM_PACKAGE = 1 to 0

此设置使 wwwroot 成为只读文件系统。

通过从包运行,这是严格执行的,因为 wwwroot 文件夹变为只读

关于azure - DevOps 部署后 wwwroot 上的访问被拒绝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55574037/

相关文章:

postgresql - 无法获得在 AKS 中工作的 Postgres 权限或 PVC

Azure AD 用户与 AD DS 同步

azure-devops - 将变更集添加到版本#

docker - 从 Azure Bicep 创建容器注册表,并将镜像部署到 Azure Devops 中同一构建管道中的此注册表

java - 当java编译器输出错误时如何使管道失败

asp.net - 如何将基于 .fsproj 的 f# 项目 git 部署到 azure?

c# - 无需 SAS token 即可访问存储在 Azure 文件存储中的文件

azure - 地形错误 : Failed to query available provider packages

azure - 如何增加 ASP.NET Core 2.0 API 的 Azure 应用服务超时

Azure WebApp - 版本控制的配置/用户数据与应用程序分开部署