我用google搜索过去3个小时,但没有发现如何处理windows azure问题:
您无权查看此目录或页面。
我做了一个git master push to azure,部署成功了。我也打开了失败的请求跟踪,但没有显示,但上述声明。
有关如何排除故障的任何想法?
我刚刚测试过,如果你没有将你的主node.js文件部署为server.js,你会收到此错误,因为web.config专门寻找server.js,如下所示:
<handlers>
<add name="iisnode" path="server.js" verb="*" modules="iisnode"/>
</handlers>
为了进一步解决这个问题,您可以通过FTP访问网站,如here所述。
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>
自从这个问题以来,天蓝色的工具发生了很大的变化。
我建议人们使用azure-cli。但有趣的是,在我用它创建一个网站后,我实际上并没有使用它。
我现在使用的只是将(git)直接推送到名为azure的遥控器的能力,而cli正在为你设置。
但是如果您不想安装cli,您基本上只需手动添加远程仓库(您的站点),如下所示:
git remote add azure https://<site-or-appservice-name>.scm.azurewebsites.net/<site-or-appservice-name>.git
就像你对其他所有git遥控器一样。
不是特定于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")
}
我刚刚遇到了这个问题,在我的情况下,导致问题的是ipSecurity配置。只需要去,然后将allowUnlisted更改为true。
<security>
<ipSecurity allowUnlisted="false">
</security>
我有同样的问题,你需要将server.js移动到你的根应用程序文件夹
简单配置,在azure门户中转到您的Web应用程序 - >所有设置 - >应用程序设置,在默认文档下添加您要查看的文档的特定名称,等待它更新,然后刷新您的azure链接。
从本地存储库中获取git push
之后,我收到了相同的错误消息。
通过打开Azure仪表板解决了这个问题:
Web应用程序/应用程序部署/部署源
并选择本地git存储库作为部署源