如何将特定地址绑定到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");
Run Code Online (Sandbox Code Playgroud)
怎么实现呢?
编辑:我添加了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
Run Code Online (Sandbox Code Playgroud)
你会得到
process.argv[0] //=> "node"
process.argv[1] //=> "server.js"
process.argv[2] //=> "0.0.0.0"
Run Code Online (Sandbox Code Playgroud)
请注意,它是一个数组,因此只要您确定将运行您的文件,您可以使用它process.argv[2]来指定您想要侦听的IP地址.
http.listen(3000, process.argv[2]);
Run Code Online (Sandbox Code Playgroud)
但一般来说,您应该设置环境变量IP.
http.listen(3000, process.env[IP]);
Run Code Online (Sandbox Code Playgroud)
或者全部
http.listen(3000, process.argv[2] || process.env[IP] || "0.0.0.0");
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15173 次 |
| 最近记录: |