Azure网站消息"您无权查看此目录或页面。"。该怎么办?

时间:2018-02-18 15:56:55

标签: azure web reset

从Visual Studio 2017向Azure发布ASP.NET核心应用程序后,当我点击应用程序URL时收到此消息:

enter image description here

以前工作正常。有没有办法重置源代码或应用程序?

你有解决方案吗?

14 个答案:

答案 0 :(得分:12)

You do not have permission to view this directory or page.

这基本上暗示Azure在运行您的Web应用程序时遇到错误。自生产以来,它没有显示任何有用的错误消息。出于测试/调试目的,您可以打开Azure详细消息,并在准备好生产时关闭。为此,您必须遵循以下两个步骤,

  • 登录Azure>应用服务(左侧菜单)> Your Web App>诊断日志(如果找不到,搜索框位于顶部),然后打开Detailed Error Messages或打开所有登录选项,由您决定。
  • 现在在Web Config文件中添加以下内容,
  • Web Config文件中添加<customErrors mode="Off" /> BEFORE system.web结束标记</system.web>。同样,在<httpErrors errorMode="Detailed"></httpErrors>之前添加</system.webServer>。最后,将Web Config上传到Azure并交叉手指。

如果您正确地按照步骤操作,那么将详细显示错误消息,并希望从那里找出出错的地方。祝你好运!

答案 1 :(得分:3)

You do not have permission to view this directory or page.

在IIS配置上限制IP时显示此消息。 检查您的Web.config文件,然后在“安全性”部分添加您的IP地址,如下所示:

<security>
<ipSecurity allowUnlisted="false">
<clear />
<add ipAddress="192.168.250.70" allowed="true" />
</ipSecurity >
</security>

如果您不想限制任何IP地址,请删除它。

答案 2 :(得分:2)

根据我的经验,如果您的Azure Active Directory(AAD)下的登录用户ID必须在“设置”中进行修改:

  • 身份验证/授权
  • 应用程序服务身份验证,“打开” = >>选择:使用Azure Active Directory登录
  • 根据您的目的选择“ ActivityProvider”。就我而言,我正在使用AAD。
  • 已配置(Express:现有APP)
  • 管理Azure Active Directory: 管理权限和应用程序

对于管理权限 == >>添加,在“代表权限”中,选择:登录并读取用户资料 并刷新浏览器以再次登录

答案 3 :(得分:1)

从错误描述来看,不清楚这里出了什么问题。

您可以使用Kudu Console检查已部署的文件是否可用。

此外,请确保将启动文件(例如:index.htm)添加到默认文档部分。

我建议你引用Enable diagnostics logging for web apps in Azure App ServiceTroubleshoot ASP.NET Core on Azure App Service来检查完整的错误详情和根本原因。

答案 4 :(得分:1)

实际上,您需要将index.php文件直接上传到wwwroot(在“站点”文件夹内)

答案 5 :(得分:1)

在我的例子中,Azure DevOps 是在额外的 build 文件夹中创建部署包,所以路径是 build/wwwroot 而不仅仅是 wwwroot

我不得不在我的构建管道中取消选中“将根文件夹名称添加到存档路径”。

devops configuration

答案 6 :(得分:0)

  • 您首先应该做的就是检查文件夹是否 您的战争在webapps文件夹中解压了。为此,如果您的网站 网址为“ xyz.azurewebsites.net”,然后尝试打开 xyz.scm.azurewebsites.net。这应该将您重定向到KUDU 界面,您可以在其中看到一些标签。从这些选项卡中选择调试 控制台,然后从下拉列表中选择CMD。这应该给你 文件夹结构。现在转到site-> wwwroot-> webapps。那里检查 您的战争已经展开。
  • 如果没有,请尝试重新启动Web应用程序,然后查看ID,这样做 特技。如果在创建应用服务计划时已选择 标准定价层,将其更改为高级
  • 最后但不是您可以启用的日志记录列表。然后去 监视->诊断日志。打开这些设置。然后选择 日志流式传输(仅在诊断日志下方)。

希望获得帮助。

答案 7 :(得分:0)

仅添加到解决方案中:在我的情况下,我更新了应用程序,但是应用程序池设置为“ Always On”,因此有些东西“混淆了”。我要做的就是:

  • 转到Azure门户中的网站设置
  • 然后在“设置”下选择配置
  • 然后在配置页上选择“常规设置”标签
  • 在“常规设置”标签上,将“始终打开”切换为关闭
  • ,然后照常重新连接到您的站点。
  • 网站备份并运行后,将“始终打开”切换回打开

答案 8 :(得分:0)

要打开生产时的错误,我必须将ASPNETCORE_ENVIRONMENT环境变量设置为“开发”,可以在以下应用服务中找到它:enter image description here

答案 9 :(得分:0)

另一个有用的解决方法是Jimmy指出的页面上,转到“默认文档”选项卡,然后添加主文件的名称(应为index.html),如果没有,则添加它。

那解决了我的问题。

答案 10 :(得分:0)

此处的某些答案较为笼统,我认为总体上更好。但是,如果您使用的是Azure Pipelines,则我确实知道部署Azure Web App的常见情况是,该管道只是选择管道任务的部署方法不正确。在IIS网络应用的大多数基本情况下,例如ASP.NET,您将要使用WebDeploy。只需这样设置以下参数:

bool FIRST = true;

void foo(){
if(FIRST){
   /* do something only once */
   FIRST = false;
}
   /* something something... */
}

有关更多详细信息,请参见任务参考:https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/deploy/azure-rm-web-app-deployment

答案 11 :(得分:0)

您可能没有在构建管道上压缩正确的文件夹。

我遇到了同样的问题,要解决它,我要做的就是在这里添加' / build '

- task: ArchiveFiles@2
  displayName: 'Archive files'
  inputs:
    rootFolderOrFile: front-end/presentation/build
    includeRootFolder: false

答案 12 :(得分:0)

我们有时会在 .net 4.7.2 的构建->发布时得到这个。网络应用程序(webdeploy)。重建/重新发布通常可以解决它。重新启动/配置更改,停止/启动,其他都不起作用。

答案 13 :(得分:0)

我直接从 VS Code 部署到 Azure 应用服务,没有设置管道。

在应用服务中的 Azure 中,转到 configuration,在 path mappings 下,physical path 默认设置为 site\wwwroot

您可能需要根据构建后的应用程序结构进行调整

对我来说,由于我直接内置到 dist 文件夹中并且我的 index.html 直接在该文件夹下,所以我可以使用它:

site\wwwroot\dist\

但如果您在文件夹结构中有应用名称,则可能需要执行以下操作:

site\wwwroot\dist\<app name>\ 或类似的,取决于初始文件(例如 index.html)的位置