我使用Azure SDK 2.7和Node.js工具在Visual Studio 2015中创建了一个node.js应用程序。
我已经在我的网络应用程序中使用BitBucket成功设置了CI,我可以看到对存储库的更改确实会触发构建和部署。
但是,我到达的页面(http://ftct.azurewebsites.net/)抱怨:您无权查看此目录或页面。
我已经使用:app.get(' /',routes.index)在我的node.js中指定了一个默认文件(kinda);
因此,尝试直接导航到此文件http://ftct.azurewebsites.net/signin.html会产生不同的错误:您要查找的资源已被删除,名称已更改或暂时不可用。
我将应用程序配置为在Visual Studio中的端口1337上运行,但使用此端口并不能解决问题。尝试导航到移植的地址会产生超时。
有什么想法吗?
答案 0 :(得分:7)
我有同样的问题,
你需要在根目录下的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;
答案 1 :(得分:3)
编辑:尝试从https://portal.azure.com的库中创建“Node JS Empty Web App”,并将web.config和网站与您拥有的内容进行比较。您可能缺少一些配置设置。
上一个答案:首先,Azure Web Apps(Azure网站的新名称)中只有端口80和443可用。因此端口1337将无法工作。重新配置您的应用程序以在端口80或443上运行。关于权限问题,您是否启用了应用程序服务身份验证?通过编辑Web App的应用程序设置,确保已禁用此功能。
答案 2 :(得分:2)
您可以尝试创建一个&#34; Node JS Empty Web App&#34;来自旧门户网站http://manage.windowsazure.com的图库,见下文。
然后,在网络应用程序仪表板页面的set up deployment from source control
处执行quick glance
以部署您的网络应用程序。
现在,浏览工作正常的网络应用http://<app-name>.azurewebsites.net
。
答案 3 :(得分:1)
如果使用iisnode运行iis或iis express后面的节点进程,您可能错过了web.config文件。
https://github.com/tjanczuk/iisnode/blob/master/src/samples/configuration/web.config
答案 4 :(得分:1)
就我而言,使用ZipDeploy时出现此错误:请确保将文件压缩在根文件夹中,以便Node.js文件可以在基础级别的Kudu上列出,而不是在一个文件夹中列出。感谢mike-urnun-msft。
答案 5 :(得分:0)
此外,当您通过azurewebsites.net/ZipDeployUI部署zip文件时,请确保您看到的文件在/ wwwroot级别上已解压缩。
如果文件显示在/ wwwroot / your-app-folder /下,则可能会出现此权限问题。我花了很长时间才弄清楚!希望对您有所帮助。
答案 6 :(得分:0)
我的情况相似,但略有不同。我正在研究Facebook Messenger平台的“设置您的Webhook”文档步骤。
localhost可以正常工作,但是在部署后,它只会简单地说出其他人已经指出的内容。
The resource you are looking for has been removed, had its name changed, or is temporarily unavailable.
我最终的package.json看起来像它,并且有效。
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"start": "node index.js"
},
我认为,问题归结为Facebook提供演示代码的方式。该演示代码根本没有专门部署在azure上的所有内容。
我已经将我的最终代码放在这里了(我认为它可以作为入门人员使用的入门工具)。
另外,有趣的是,其他人建议使用web.config,但我并不需要它。
答案 7 :(得分:0)
问题很可能是推错了文件夹。对于 ASP.NET 服务器,根文件夹必须有 index.html 文件。
角度特定
在这种情况下,文件夹名称是“resume”,恰好是 Angular 项目名称。请注意,index.html 文件在此文件夹中。
请注意,向上推时您知道自己走在正确的轨道上,因为此文件夹很小,而且完成得很快。
我使用 VSCode 的 Azure 工具插件,它只是提示我正确订阅(您的 Microsoft 帐户),然后单击向上箭头进行上传!