2017-08-28 69 views
1

我在Windows上有一个Azure Web应用程序,它运行iisnode与我的Node应用程序进行通信,并且我得到一个1001错误的500错误。似乎IIS似乎没有得到Node的响应。我在应用程序设置下设置了NODE_ENV和PORT变量。为了最大限度地减少这些变量,我也将其解压缩到Node Hello World应用程序中。正如我所知,Node会提取PORT变量并启动使用正确的端口,因为我看到std out指出应用程序是从指定的端口开始的。但是,当我尝试任何请求时,Node永远不会实际接收来自iisnode的请求。如果我尝试使用console.log消息,并且没有看到任何异常,那么我就不会收到任何异常,如果它处于事件的响应方面,我会期望这种异常。我有其他应用程序服务设置相同的方式,似乎工作正常。我尝试从其中一个部署代码,并获得相同的行为。Node.js Azure Web应用程序Windows 500.1001错误

我尝试使用下面的代码为最基本的测试

var http = require('http'); 

    // Configure our HTTP server to respond with Hello World to all requests. 
    var server = http.createServer(function (request, response) { 
     console.log('Getting Response'); 
     response.writeHead(200, {"Content-Type": "text/plain"}); 
     response.end("Hello World\n"); 
    }); 

    var port = process.env.PORT || '3003'; 
    server.listen(port); 

    // Put a friendly message on the terminal 
    console.log("Server running on port " + port); 

我得到的回应Server running on port 8080,这使我相信在服务器启动了罚款。不过,我只是在浏览器中获得友好的500.1001响应。从我的角度来看,什么可能会导致这种情况的想法与我们正在运作的许多其他网站一样?

回答

0

Azure Web Apps仅支持端口80的HTTP和端口443的HTTPS流量。为避免此错误,您需要从应用程序设置中删除PORT变量设置,因为Azure已通过变量process.env.PORT中的端口,它不是真正的端口号,而是像\\.\pipe\(guid...)这样的管道。请参阅Node Js RestFull API on Azure,Returns HTTP Error 500.1001 - Internal Server Error

+0

所以这个工作,但这是最近的变化?我不确定为什么我的所有其他Web应用程序都是以相同的方式指定节点端口。基本上,我不确定现在这些其他的工作。 –

相关问题