Register__ 2023-01-31 15:18 采纳率: 89.5%
浏览 50
已结题

nodejs中http模块监听listen()服务器报错

初学nodejs不久,在接触http模块时候,想监听一下 自己买的 云服务器,但是 listen 函数 报错:


const http = require('http');

const server = http.createServer((request,response)=> {
  response.end("&");
});

server.listen(443,'48.109.76.190',()=> {
  console.log("~");
});
C:\Users\Administrator\Desktop\nhub>node main.js
node:events:491
      throw er; // Unhandled 'error' event
      ^

Error: listen EADDRNOTAVAIL: address not available 48.109.76.190:443
    at Server.setupListenHandle [as _listen2] (node:net:1451:21)
    at listenInCluster (node:net:1516:12)
    at doListen (node:net:1665:7)
    at process.processTicksAndRejections (node:internal/process/task_queues:83:21)
Emitted 'error' event on Server instance at:
    at emitErrorNT (node:net:1495:8)
    at process.processTicksAndRejections (node:internal/process/task_queues:82:21) {
  code: 'EADDRNOTAVAIL',
  errno: -4090,
  syscall: 'listen',
  address: '48.109.76.190',
  port: 443
}

Node.js v19.1.0

errno:-4090 是哪里错误了, 端口是开好的, 监听localhost是可以的

  • 写回答

1条回答 默认 最新

  • 於黾 2023-01-31 15:42
    关注

    你这是根本不懂什么叫监听
    监听是要监听客户端连接,不是监听服务端
    比如你服务端写监听80端口,那么有客户端去连接你的80端口,你的程序就会有响应
    而如果你不监听80端口,有客户端连接80端口,就会被拒绝
    所以你只能监听本地ip,localhost其实代表的是127.0.0.1
    也可以填写网卡的ip
    如果你有多个ip,那么填写其中一个ip可以禁止其他ip段对你的网站进行访问
    而如果你想对所有ip进行监听,可以写0.0.0.0
    你填写个本地不存在的ip可不报错吗

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 1月31日
  • 已采纳回答 1月31日
  • 创建了问题 1月31日

悬赏问题

  • ¥20 wireshark抓不到vlan
  • ¥20 关于#stm32#的问题:需要指导自动酸碱滴定仪的原理图程序代码及仿真
  • ¥20 设计一款异域新娘的视频相亲软件需要哪些技术支持
  • ¥15 stata安慰剂检验作图但是真实值不出现在图上
  • ¥15 c程序不知道为什么得不到结果
  • ¥40 复杂的限制性的商函数处理
  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来