Express.js- 为啥是 localhost '::'

Posted

技术标签:

【中文标题】Express.js- 为啥是 localhost \'::\'【英文标题】:Express.js- Why is Localhost '::'Express.js- 为什么是 localhost '::' 【发布时间】:2015-10-16 04:25:59 【问题描述】:

谁能告诉我为什么我的服务器地址(主机)是 :: 而不是 localhost

var express = require('express');
var app = express();

// respond with "hello world" when a GET request is made to the homepage
app.get('/', function(req, res) 
  res.send('hello world');
);

var server = app.listen(3000, function () 
  var host = server.address().address;
  var port = server.address().port;
  console.log('Example app listening at http://%s:%s', host, port);
);

返回

Example app listening at http://:::3000

当我转到http://localhost:3000/时它工作正常

【问题讨论】:

【参考方案1】:

因为 :: 在使用 IPv6 时是 localhost,就像在 IPv4 中是 127.0.0.1。

【讨论】:

啊哈。那么 IPv6 是 Express 的标准吗?有没有办法在两者之间切换? ***.com/questions/29411551/…

以上是关于Express.js- 为啥是 localhost '::'的主要内容,如果未能解决你的问题,请参考以下文章

为啥我的 Express.js 后端的 CORS 设置不起作用?

为啥我不能像传递其他变量一样将函数从 Express.js 传递给 EJS?

在 Express.js 中为啥 res.json() 之后的代码仍然执行?

为啥我不能在 Socket.io http 服务器上使用 express.js 获取方法

Express.js 对 Angular CORS 错误的响应

Docker - 为啥这个 express.js 容器带有暴露/发布的端口拒绝连接? (使用 boot2docker)