Node.js在本地工作,但远程返回“不良请求”

我创build了一个应用程序(Node.js + Express),在本地运行。 然后,我在Azure上创build了Node.js应用程序,并通过FTP上传文件。 然后我坚持 – 如何运行它?

我在azure中find了一种远程控制台,并从那里安装了所有的软件包。 但是当我试图运行该应用程序:“npm开始”我只有一行回:“ 坏请求 ”。 这是什么意思? 该怎么办?

./bin/www文件的开头:

var app = require('../app'); var debug = require('debug')('goWeb:server'); var http = require('http'); /** * Get port from environment and store in Express. */ var port = normalizePort(process.env.PORT || '3000'); app.set('port', port); /** * Create HTTP server. */ var server = http.createServer(app); /** * Listen on provided port, on all network interfaces. */ server.listen(port); server.on('error', onError); server.on('listening', onListening); 

goWeb – 是我的应用程序,在package.js中提到。

UPD我改变了端口为80,现在我有错误“端口80需要提升的权限”。 我不知道下一步该怎么做。 谢谢

看起来你的app.js文件不在web服务器iisnode提供内容的wwwroot文件夹中,你不需要在Azure web应用程序中执行npm start

你可以看看我的wwwroot结构,它看起来像这样: 在这里输入图像描述

您也可以使用web.config的以下行自定义app.js文件的path。

 <handlers> <!-- Indicates that the app.js file is a node.js site to be handled by the iisnode module --> <add name="iisnode" path="app.js" verb="*" modules="iisnode"/> </handlers>