推送到Windows Azure后出错:您无权查看此目录或页面

我search了过去3个小时,没有发现如何处理窗口azure色的问题:

您无权查看此目录或页面。

我做了一个git主推到azure色,部署成功。 我也打开了失败的请求追踪,但没有显示,但上述声明。

任何想法如何解决这个问题?

我刚刚测试过,如果你不把你的main node.js文件部署为server.js,你会得到这个错误,因为web.config是专门寻找server.js,如下所示:

<handlers> <add name="iisnode" path="server.js" verb="*" modules="iisnode"/> </handlers> 

为了进一步解决这个问题,您可以通过FTP访问网站,如下所述。

AvkashChauhan的回答确实引导了我的写作方向,但我也必须添加适当的重写规则。 这是我完整的web.config

 <?xml version="1.0"?> <configuration> <system.web> <compilation batch="false" /> </system.web> <system.webserver> <handlers> <add name="iisnode" path="server.js" verb="*" modules="iisnode" /> </handlers> <rewrite> <rules> <rule name="myapp"> <match url="/*" /> <action type="Rewrite" url="server.js" /> </rule> </rules> </rewrite> </system.webserver> </configuration> 

不是特定于node.js,而是更新以防止其他人面临常规Web应用程序的这个问题。 如果index.html文件不存在,或者因为它位于子目录中而没有找到,也会发生这种情况

我也遇到这个错误。 我使用的MVC和错误的原因是,在我的布局页面我有一个匿名用户无法访问的操作:

 @Html.Action("GetMenu", "Users") 

有关信息,我在Application_Start中注册了一个AuthorizeAttribute()全局过滤器,我的Login操作使用了AllowAnonymous

  [HttpPost] [AllowAnonymous] [ValidateAntiForgeryToken] public ActionResult Login(LoginModel model, string returnUrl) { 

我的网站以前在IIS7上工作过,但是Azure不那么宽容。 我通过添加这样的检查来解决问题:

 @if (User.Identity.IsAuthenticated) { @Html.Action("GetMenu", "Users") } 

自从这个问题以来,天蓝色的工具发生了很大的变化。

我推荐使用天蓝色的人。 但有趣的是,我已经使用它创建一个网站后,我实际上不使用它。

我现在使用的只是将(git)直接推送到名为azure的远程的能力,而cli正在为您设置。

但是如果你不想安装cli,你可以手动添加远程仓库(你的站点),就像这样:

git remote add azure https://<site-or-appservice-name>.scm.azurewebsites.net/<site-or-appservice-name>.git

就像你用其他的git remote一样。

我刚刚遇到了这个问题,在我的情况下,这是导致问题的ipSecurity配置。 只需要去更改allowUnlisted为true。

  <security> <ipSecurity allowUnlisted="false"> </security> 

我有同样的问题,你需要将你的server.js移动到你的根应用文件夹

简单的配置,在天蓝色的门户转到您的Web应用程序 – >所有设置 – >应用程序设置,在默认文档下添加您要查看的文档的特定名称,等待它更新,然后刷新您的天蓝色链接。

在从本地存储库进行git push后,我有相同的错误消息。

通过打开Azure仪表板解决了这个问题:

Web应用程序/应用程序部署/部署源

并选择本地git存储库作为部署源