查看IP

127.0.0.1与localhost详解

127.0.0.1——以及localhost这个名称——始终表示这台电脑。发往它的流量永远不会经过网卡;它直接绕回来。开发者用它在自己的机器上运行服务器,这也是一个位于localhost的网站只有您能打开、别人都打不开的原因。

本文内容

环回是什么意思

每个系统都把127.0.0.0/8(IPv6中是::1)保留给环回:发往其中任意地址的数据包都会被操作系统送回同一台机器。localhost只是一个通过hosts文件、无需DNS就能解析到127.0.0.1和::1的主机名。监听127.0.0.1的服务器只接受来自同一台电脑上程序的连接,这让它成为数据库和开发服务器最安全的地址。要从另一台设备访问某个服务,必须改为监听机器的局域网地址或0.0.0.0(所有接口)——参见我的内网IP。

立即测试

Cloudflare边缘节点
网站看到的IP216.73.216.52
位置Columbus, 美国
网络运营商Anthropic, PBC

由本次请求在Cloudflare边缘节点读取。首页还会显示您的运营商、网络类型,以及VPN、DNS和WebRTC检查。

显示详情

常见用途

本地开发(http://localhost:3000、http://127.0.0.1:8080):运行在您机器上的Web应用,只有您能访问。绝不应暴露在外的数据库和缓存(127.0.0.1:3306上的MySQL、127.0.0.1:6379上的Redis)。在没有网络的情况下测试网络程序。在hosts文件中把域名指向127.0.0.1以屏蔽它们。当您运行Pi-hole或Unbound这样的本地解析器时,本站的DNS泄露测试会显示一个位于您自己地址的解析器——这是同一思路在DNS层面的体现。

解决“localhost拒绝连接”

localhost拒绝连接意味着您的机器上没有程序在监听那个端口。请检查:服务器确实已经启动且没有崩溃(看它的输出);端口是否匹配(localhost:3000与运行在8080上的服务器);它绑定的是127.0.0.1或所有接口,而不是只绑定了一个IPv6地址——浏览器把localhost解析为::1而服务器只监听127.0.0.1时就会这样失败,请明确用127.0.0.1来测试;以及防火墙或安全软件没有阻止本地连接。ss -ltnp(Linux)、lsof -iTCP -sTCP:LISTEN(macOS)或Get-NetTCPConnection -State Listen(Windows)可以显示正在监听的程序。

常见问题

127.0.0.1和localhost是一回事吗?

实际上是:localhost是一个解析到127.0.0.1(IPv4)和::1(IPv6)的名称。程序可能选择其中任意一个,当服务器只监听其中一个时,这偶尔会产生影响。

127.0.0.1安全吗?

安全。发往127.0.0.1的任何东西都不会离开您的电脑,所以绑定到它的服务无法从网络访问。唯一的风险来自运行在同一台机器上的软件。

localhost可以放心使用吗?

可以,原因相同:到localhost的连接留在机器内部。请确保在想要保持私密时,开发服务器没有意外绑定到所有接口。

localhost 8080是什么意思?

您自己机器上一个监听8080端口的服务器——通常是开发用的Web服务器或管理界面——只能从这台机器通过http://localhost:8080访问。

如何找到我的localhost网址?

就是http://localhost加上程序告诉您它正在监听的端口,例如http://localhost:3000。如果没有给出端口,默认为80。

CheckMyIP Team
Network engineers and privacy researchers