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日

悬赏问题

  • ¥170 如图所示配置eNSP
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效
  • ¥15 悬赏!微信开发者工具报错,求帮改
  • ¥20 wireshark抓不到vlan
  • ¥20 关于#stm32#的问题:需要指导自动酸碱滴定仪的原理图程序代码及仿真
  • ¥20 设计一款异域新娘的视频相亲软件需要哪些技术支持
  • ¥15 stata安慰剂检验作图但是真实值不出现在图上
  • ¥15 c程序不知道为什么得不到结果
  • ¥15 键盘指令混乱情况下的启动盘系统重装