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

问题描述 投票:30回答:9

我用google搜索过去3个小时,但没有发现如何处理windows azure问题:

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

我做了一个git master push to azure,部署成功了。我也打开了失败的请求跟踪,但没有显示,但上述声明。

有关如何排除故障的任何想法?

windows node.js azure
9个回答
19
投票

我刚刚测试过,如果你没有将你的主node.js文件部署为server.js,你会收到此错误,因为web.config专门寻找server.js,如下所示:

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

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


10
投票

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>

3
投票

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

我建议人们使用azure-cli。但有趣的是,在我用它创建一个网站后,我实际上并没有使用它。

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

但是如果您不想安装cli,您基本上只需手动添加远程仓库(您的站点),如下所示:

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

就像你对其他所有git遥控器一样。


2
投票

不是特定于node.js,而是在它帮助其他人面对常规Web应用程序的此问题时进行更新。如果index.html文件不存在或找不到,因为它位于子目录中,也会发生这种情况


2
投票

我也遇到了这个错误。我正在使用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")
}

0
投票

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

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

0
投票

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


0
投票

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


0
投票

从本地存储库中获取git push之后,我收到了相同的错误消息。

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.