2017-08-28 19 views
1

Ich habe eine Azure-Webanwendung unter Windows, die Iisnode zur Kommunikation mit meiner Node-App ausführt, und ich bekomme einen 500-Fehler mit einem 1001-Substatus. Es scheint, als ob IIS keine Antwort von Node zu erhalten scheint. Ich habe NODE_ENV und PORT-Variablen unter den Anwendungseinstellungen eingerichtet. Ich habe dies auch auf eine Node Hello World Anwendung reduziert, um die Variablen zu minimieren. Der Knoten nimmt die PORT-Variable auf und startet mit dem richtigen Port, wie ich weiß, weil ich die Standardausgabe sehe, die besagt, dass die App an dem angegebenen Port gestartet wurde. Wenn ich jedoch eine Anfrage ausprobiere, scheint Node die Anfrage von iisnode niemals zu erhalten. Ich bekomme nichts, wenn ich versuche, eine Nachricht zu console.log.und sehe keine Ausnahmen, was ich erwarten würde, wenn es auf der Antwortseite der Dinge ist. Ich habe andere App-Dienste auf die gleiche Weise eingerichtet, die anscheinend gut funktionieren. Ich versuche, den Code von einem dieser zu implementieren, und ich bekomme das gleiche Verhalten.Node.js Azure Web App Windows 500.1001 Fehler

Ich versuche, den folgenden Code für die grundlegendsten Tests

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); 

ich die Antwort Server running on port 8080 bekommen zu verwenden, die mir der Server fein anläuft führt zu glauben. Allerdings bekomme ich nur die freundliche 500.1001 Antwort in einem Browser. Irgendwelche Ideen darüber, was das verursachen könnte, wenn es aus meiner Sicht so aussieht wie viele andere Websites, die wir betreiben?

Antwort

0

Azure Web Apps unterstützt nur Port 80 für HTTP und Port 443 für HTTPS-Datenverkehr. Aviod diese Fehler müssen Sie PORT variable Einstellung von Anwendungseinstellungen entfernen weil Azure einen Port in den Variablen process.env.PORT bestanden hat, und es ist nicht wirklich eine Portnummer, sondern ein Rohr wie \\.\pipe\(guid...). Siehe Node Js RestFull API on Azure,Returns HTTP Error 500.1001 - Internal Server Error.

+0

So funktioniert das, aber ist dies eine aktuelle Änderung? Ich bin mir nicht sicher, warum all meine anderen Web Apps funktionieren, indem ich den Node-Port auf die gleiche Weise spezifiziere. Im Grunde bin ich mir nicht sicher, wie die anderen jetzt funktionieren. –