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日

悬赏问题

  • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
  • ¥15 错误 LNK2001 无法解析的外部符号
  • ¥50 安装pyaudiokits失败
  • ¥15 计组这些题应该咋做呀
  • ¥60 更换迈创SOL6M4AE卡的时候,驱动要重新装才能使用,怎么解决?
  • ¥15 让node服务器有自动加载文件的功能
  • ¥15 jmeter脚本回放有的是对的有的是错的