解析到本地127的神奇域名

作为一名 Web 开发者,我的日常工作就是在本地进行开发,实现各种功能。过去几年,我一直使用 127.0.0.1 作为本地服务的访问地址。当需要同时开发多个项目时,我会用不同端口来区分,例如:

  • 项目A:127.0.0.1:8080
  • 项目B:127.0.0.1:8081
  • …以此类推

当然,也可以用 localhost 代替 127.0.0.1

前段时间我在想,有没有办法让本地访问的地址看起来更“真实”一点?我知道可以通过配置 HOSTS 文件将任意域名解析到本地,但有没有本身就专门设计用于解析到本地的域名呢?

最初,我尝试将 local.dbkuaizi.com 及其子域名解析到 127.0.0.1,这样访问 local.dbkuaizi.comtest.local.dbkuaizi.com 都能指向本地站点。但用了几天后发现一个问题:域名太长,输入不方便。

于是我又想,不如自己注册一个短域名?但在域名注册网站找了半天,发现两位的短域名要么已被注册,要么价格不菲。

后来我在网上搜索了一番,发现确实存在一些专门解析到本地的域名。现将整理结果汇总如下:

本地解析域名

localhost

IETF(互联网工程任务组)在 RFC 6761 中明确规定:localhost*.localhost 应始终解析为本地回环地址(即 127.0.0.1)。

因此,以下地址都会被解析到 127.0.0.1,满足各种使用场景:

域名 说明
http://localhost 顶级域名
http://dbkuaizi.localhost 二级域名
http://dbkuaizi.test.localhost 三级域名

需要注意的是,.localhost 解析到本地是应用层规范,Safari、Chrome、CURL 等主流工具都支持,但并非所有应用都遵循。

由于这是官方硬性规定,该域名非常稳定且通用性强,在绝大多数情况下推荐使用。

*.lvh.me

该域名的持有者是 @levicook。自 2010 年起,该域名及其泛域名均解析到 127.0.0.1。2021 年 6 月,作者因认为使用人数不多、不愿继续承担域名费用而停止续费。随后,越来越多网友在其推特下留言表示愿意捐助,希望保留该域名。最终 @levicook 恢复了续费,并开启了捐款通道(但目前该捐款地址已返回 403)。

以下地址都会被解析到 127.0.0.1

域名 说明
http://lvh.me 顶级域名
http://dbkuaizi.lvh.me 二级域名
http://dbkuaizi.test.lvh.me 三级域名

这是目前最短的可用域名,也是我日常开发的选择,体验良好。

*.fbi.com

这个域名…很有意思,虽然不清楚所有者是谁,但至少从 2022 年至今,它一直解析到本地回环地址。

域名 说明
http://fbi.com 顶级域名
http://demo.fbi.com 二级域名
http://demo.test.fbi.com 三级域名

由于所有者不明,不推荐用于正式开发,当作一个趣闻即可。

*.nip.io

nip.iosslip.io 是一种 DNS 服务,当查询包含嵌入 IP 地址的主机名时,会将域名解析为对应 IP。这两个服务已稳定运行十多年,每秒处理约 5000 次请求,甚至被 Google 引用在 Kubernetes 文档 中。

举例说明:

域名 解析结果
http://127.0.0.1.nip.io 127.0.0.1
http://app.192.168.0.10.nip.io 192.168.0.10
http://7f000101.nip.io 127.0.0.1(十六进制表示)
http://127-0-0-1.nip.io 127.0.0.1(带破折号格式)

需要注意的是,nip.iosslip.io 本身不解析到 127.0.0.1

虽然该服务稳定,但我个人不太喜欢,因为域名中必须包含 IP,与我最初的目标不符。

local.gd

这是 nip.io 服务的一部分,该域名及其子域名均解析到 127.0.0.1,用法与其他本地域名相同:

域名 说明
http://local.gd 顶级域名
http://dbkuaizi.local.gd 二级域名
http://dbkuaizi.test.local.gd 三级域名

local.dbkuaizi.com

这是我个人持有的域名。对我而言,其稳定性仅次于 localhost。如果你有需要,也可以直接使用(至少在可预见的未来,该域名会持续解析到 127.0.0.1)。

域名 说明
http://local.dbkuaizi.com 二级域名
http://demo.local.dbkuaizi.com 三级域名
http://demo.test.local.dbkuaizi.com 四级域名

其他

我还收集了其他一些解析到 127.0.0.1 的域名,但不建议使用,因为它们未承诺长期解析到本地:

  • http://curd.life
  • http://crud.life
  • http://localhost.ptlogin2.qq.com
  • http://localtest.me

使用场景

在本地开发测试中,使用本地域名可以实现以下功能:

浏览器将 127.0.0.1 视为 IP 地址而非域名,而 Cookie 在域名和 IP 的处理逻辑上完全不同。

例如,设置 Cookie 时可以使用:

document.cookie = "session=abc123; domain=.local.dbkuaizi.com; path=/"

这样,无论是 demo.local.dbkuaizi.com 还是 test.local.dbkuaizi.com 都能共享该 Cookie,而使用 IP 地址无法模拟此场景。

OAuth 开发

大多数 OAuth 服务商出于安全考虑,不允许使用 IP 作为重定向 URL,要求使用真实域名,例如:

  • https://myapp.lvh.me:3000/auth/callback
  • https://myapp.localhost:3000/auth/callback
  • https://127.0.0.1:3000/auth/callback
  • http://localhost:3000/auth/callback(部分服务商不允许 HTTP)

本地同时开发多个项目

例如,项目A 运行在 3000 端口,项目B 运行在 4000 端口:

使用 IP:端口,难以区分:

  • http://127.0.0.1:3000
  • http://127.0.0.1:4000

使用本地域名更清晰:

  • http://project-a.lvh.me → 指向项目A
  • http://project-b.lvh.me → 指向项目B

多商户系统

假设你正在开发一个名为 “Shop” 的电商平台,支持多个商户拥有独立店铺。使用本地域名可以完美模拟多租户架构:

  • 张氏百货:http://zhang3.shop.lvh.me
  • 李氏商城:http://li4.shop.lvh.me
  • 王氏旗舰店:http://wang5.shop.lvh.me

每个租户拥有独立的子域名,数据完全隔离。

多模块划分

仍以多商户系统为例,通过子域名将功能模块清晰分离,每个服务都有独立的访问入口:

  • http://admin.shop.lvh.me
  • http://api.shop.lvh.me

这样,开发环境与生产环境的域名结构完全一致,代码中的域名逻辑无需调整,实现从开发到上线的无缝衔接。


本文由两双筷子撰写,并利用 DeepSeek 对排版与语句进行了优化。

posted @ 2025-11-12 22:54  两双筷子  阅读(0)  评论(0)    收藏  举报