我可以收听网站网址主机吗?节点JS

时间:2017-01-05 14:48:53

标签: node.js http url server

我无法理解一件事 - NodeJS是否允许收听自定义主机名?不是localhost。因为当我收听我的网站url(example.com)时,我收到以下错误:

  

错误:收听EADDRNOTAVAIL example.com ip-address :1000 at   Object.exports._errnoException(util.js:1022:11)at   Server._listen2上的exports._exceptionWithHostPort(util.js:1045:20)   (net.js:1246:19)at net(js.js:1295:10)at net.js:1405:9 at at   _combinedTickCallback(internal / process / next_tick.js:77:11)at process._tickCallback(internal / process / next_tick.js:98:9)at at   Module.runMain(module.js:606:11)在运行时(bootstrap_node.js:394:7)at   startup(bootstrap_node.js:149:9)

为什么会这样?我可以从外部站点URL收听POST消息吗?

1 个答案:

答案 0 :(得分:0)

  

为什么会这样?

这是因为您无法使用您请求的hostnameport

  

我可以收听来自外部网站网址的POST消息吗?

不,你不能。 server.listen()接受hostnameport

  

开始接受指定端口和主机名上的连接。如果省略主机名,服务器将在IPv6可用时接受任何IPv6地址(::)上的连接,否则接受任何IPv4地址(0.0.0.0)。省略port参数,或使用端口值0,让操作系统分配一个随机端口,可以在发出'listening'事件后使用server.address()。port检索。

进一步深入研究list of Node.js Common System Errors docsexhaustive list,显然Address not available就属于这种情况。

  

EADDRNOTAVAIL地址不可用(POSIX.1)。