
# 本地开发中可用的“真实域名”方案整理

## 背景

在本地 Web 开发中，我们通常使用 `127.0.0.1` 或 `localhost` 配合不同端口来区分项目：

- `127.0.0.1:8080`
- `127.0.0.1:8081`

但这种方式存在几个问题：

- 地址不直观
- 无法模拟真实域名场景（如 Cookie、OAuth、多子域）
- 多项目、多模块时可读性差

因此，一个更理想的方案是：**使用天然解析到本地的域名**，在不改 hosts 的情况下，获得接近生产环境的体验。

---

## 可用的本地解析域名

### 1. `.localhost`（强烈推荐）

IETF 在 **RFC 6761** 中明确规定：  
`localhost` 及 `*.localhost` **必须解析到本地回环地址（127.0.0.1）**。

**示例：**

- `http://localhost`
    
- `http://app.localhost`
    
- `http://api.dev.localhost`
    

**特点：**

- 官方标准，长期稳定
    
- Chrome / Safari / curl 等主流工具支持
    
- 无需配置 hosts
    

> 注意：这是应用层规范，极少数工具可能不遵循。

---

### 2. `*.lvh.me`（最短、最常用）

`lvh.me` 自 2010 年起一直解析到 `127.0.0.1`，支持泛子域名。

**示例：**

- `http://lvh.me`
    
- `http://app.lvh.me`
    
- `http://api.dev.lvh.me`
    

**特点：**

- 域名极短，输入友好
    
- 泛域名支持完善
    
- 非官方，但长期稳定
    

> 作者曾短暂停止续费，后因社区支持恢复，目前可正常使用。

---

### 3. `*.fbi.com`（不推荐）

- 所有子域名解析到本地回环地址
    
- 所有者不明
    
- 无任何长期承诺
    

**仅作为趣闻，不建议用于开发**

---

### 4. `nip.io` / `sslip.io`（不太推荐）

这类服务通过 **域名中嵌入 IP** 来解析：

| 域名                        | 解析结果         |
| ------------------------- | ------------ |
| `127.0.0.1.nip.io`        | 127.0.0.1    |
| `app.192.168.0.10.nip.io` | 192.168.0.10 |

**特点：**

- 非常稳定
- 被 Kubernetes 官方文档引用
- 但域名必须包含 IP，不够“真实”

---

### 5. `local.gd`

`local.gd` 及其子域名均解析到 `127.0.0.1`。

**示例：**

- `http://local.gd`
- `http://app.local.gd`
- `http://api.dev.local.gd`

---

### 6. `local.smyhub.com`（个人域名）

- 稳定解析到 `127.0.0.1`
- 可自由使用（至少可预见的未来）

**示例：**

- `http://local.smyhub.com`

---

