[英]Node.js and MS Azure on process.env.port variable
考慮以下Node.js代碼:
var http = require('http');
var port = process.env.port || 1337;
http.createServer(function (req, res) {
res.writeHead(200, { 'Content-Type': 'text/plain' });
res.end('Hello World\n');
}).listen(port);
它在Microsoft Azure中不起作用,因為process.env.port變量中的字符串值(例如:\\。\\ pipe \\ e289ed7e-b57b-46bb-8bba-ad8cd1f1529cf)。 為什么會這樣?
唯一應該做的就是擁有一個合適的web.config文件,用於處理Microsoft Azure中的命名管道端口。 此文件最簡單的內容可以是:
<configuration>
<system.webServer>
<handlers>
<add name="iisnode" path="server.js" verb="*" modules="iisnode"/>
</handlers>
<rewrite>
<rules>
<rule name="DynamicContent">
<match url="/*" />
<action type="Rewrite" url="server.js"/>
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
如果你的初始NodeJS文件是app.js ,用它替換上面內容中的server.js字符串!
應該區分大小寫。 嘗試:
process.env.PORT
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.