You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Node.js中使用http.createServer()如何获取创建的服务访问链接

解决方法

http.createServer返回的是服务实例本身,你需要等服务完成端口监听后,通过server.address()方法获取监听信息,再拼接访问链接:

本地运行场景

直接监听服务的listening事件,触发后再打印链接即可:

const http = require('http')
const port = 1234;
const createServer = http.createServer();
const server = createServer.listen(port);
const websocket = new web({ httpServer: server });

// 等服务启动完成后再获取地址
server.on('listening', () => {
  const addr = server.address()
  // 本地访问链接
  const localUrl = `http://localhost:${addr.port}`
  console.log('服务本地访问链接:', localUrl)
})

如果你的服务是监听在公网IP上,还可以拼接机器的公网IP生成公网访问链接。

Replit等平台部署场景

Node.js本身无法直接获取反向代理/平台分配的外部访问域名,这类域名一般会被平台注入到环境变量中,你可以直接读取拼接:
以Replit为例:

server.on('listening', () => {
  const localUrl = `http://localhost:${port}`
  // 读取Replit环境变量拼接部署域名
  const deployUrl = `https://${process.env.REPL_SLUG}.${process.env.REPL_OWNER}.repl.co`
  console.log('本地链接:', localUrl)
  console.log('部署链接:', deployUrl)
})

如果是其他平台,参考对应平台的开发文档读取对应的环境变量即可。

内容的提问来源于stack exchange,提问作者Texis

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 22:54:00