[英]How to bind http server with express object to a specific ip address?
如何將特定地址綁定到http對象? 目前,node.js的默認IP地址是127.0.0.1,我想將其更改為0.0.0.0
var express = require('express');
var app = express();
var http = require('http').Server(app);
http.listen(3000, "0.0.0.0");
如何實現呢?
編輯:我添加了0.0.0.0,但默認仍為127.0.0.1
0.0.0.0
不是您可以達到的實際IP。 盡管這意味着綁定到所有 IP或任何IP。 因此,難怪它適用於127.0.0.1
。 如果您在其中一個網絡設備(LAN,WiFi,虛擬設備)上設置了IP地址,它也會監聽這些設備。
在python中,您可以簡單地鍵入
runserver 0.0.0.0
東西,因此在Node.js中還有其他選擇嗎?
process.argv
為您提供傳遞給節點的參數列表。
所以如果你跑
node server.js 0.0.0.0
你會得到
process.argv[0] //=> "node"
process.argv[1] //=> "server.js"
process.argv[2] //=> "0.0.0.0"
請注意,它是一個數組,因此,只要您確定要像這樣運行文件,就可以使用process.argv[2]
將其指定為要監聽的IP地址。
http.listen(3000, process.argv[2]);
通常,您應該設置環境變量IP
。
http.listen(3000, process.env[IP]);
或全部
http.listen(3000, process.argv[2] || process.env[IP] || "0.0.0.0");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.