Azure:“您无权查看此目录或页面

我已经使用Azure SDK 2.7和Node.js工具在Visual Studio 2015中创build了一个node.js应用程序。

我已经成功地在我的web应用程序中使用BitBucket设置CI,并且可以看到对存储库的更改确实触发了构build和部署。

但是,我所访问的页面( http://ftct.azurewebsites.net/ )抱怨: 您无权查看此目录或页面。

我已经通过使用app.get('/',routes.index)在我的node.js中指定了一个默认文件(kinda);

所以试图直接导航到这个文件, http://ftct.azurewebsites.net/signin.html ,产生了一个不同的错误: 您正在寻找的资源已被删除,名称已更改,或暂时不可用。

我configuration了应用程序在Visual Studio中的端口1337上运行,但使用此端口不能解决问题。 尝试导航到移植的地址会导致超时。

有任何想法吗?

编辑:尝试从画廊在https://portal.azure.com创build“Node JS空Web应用程序”,并比较web.config和网站与你有什么。 这可能是你错过了一些configuration设置。

在这里输入图像描述

以前的回答:首先,Azure Web Apps(Azure网站的新名称)中只有端口80和443可用。 所以港口1337将无法正常工作。 重新configuration您的应用程序在端口80或443上运行。关于权限问题,您是否启用了应用程序服务身份validation? 通过编辑Web应用程序的设置,确保被禁用。

在这里输入图像描述

您可以尝试从旧门户网站http://manage.windowsazure.com上的库中创build“Node JS Empty Web App”的实例,请参阅下文。

在这里输入图像描述

在这里输入图像描述

然后, set up deployment from source control Web应用程序仪表板页面quick glance浏览, set up deployment from source control进行set up deployment from source control以部署您的Web应用程序。

在这里输入图像描述

在这里输入图像描述

现在,浏览Web应用程序http://<app-name>.azurewebsites.net ,工作正常。

我遇到过同样的问题,

你需要在根目录下的web.config,package.json,server.js

web.config中:

 <configuration> <system.webServer> <handlers> <!-- indicates that the app.js file is a node.js application to be handled by the iisnode module --> <add name="iisnode" path="server.js" verb="*" modules="iisnode" /> </handlers> </system.webServer> </configuration> 

在package.json中你需要有:

  ... "scripts": { "start": "node server" }, ... 

并在你的server.js确保你设置的服务器端口号

process.env.PORT || 1337;

如果使用iisnode在iis或iis后面运行节点进程,则可能会丢失所需的web.config文件。

https://github.com/tjanczuk/iisnode/blob/master/src/samples/configuration/web.config