# 改写 HTTP 后端收到的 Host

> 公网域名与内网站点名称不同时，为后端设置正确的 Host 请求头

---

LLMS 索引： [llms.txt](/llms.txt)

---

公网域名与内网站点绑定的虚拟主机名不一致时，可使用“改写 Host 请求头”让后端命中正确站点。例如访问者请求 `preview.example.com`，但内网 Nginx 只接受 `app.internal.example`。

## 配置

在 Web 管理中新增或编辑 HTTP(S) 隧道：

| 字段                | 示例                   |
| ------------------- | ---------------------- |
| 域名                | `preview.example.com`  |
| 目标地址（IP:端口） | `192.168.1.20:8080`    |
| 改写 Host 请求头    | `app.internal.example` |

保存后，新请求转发到后端时将使用：

```http
Host: app.internal.example
```

留空会保留访问者原始的 Host。只填写主机名；后端确实按非标准端口区分虚拟主机时才加入 `:端口`。

配置文件模式可使用：

```ini
[preview]
host=preview.example.com
target_addr=192.168.1.20:8080
host_change=app.internal.example
```

## 验证与限制

可在后端访问日志中加入 `$host` / `%v`，或临时运行回显服务检查 Host。该设置只修改转发的 HTTP 请求头，不修改公网 DNS、TLS SNI 或浏览器地址栏；TLS 透传时 NPS 无法解析和改写 HTTP Host。若后端仍返回默认站点，检查站点规则的协议、证书终止方式以及后端虚拟主机配置。

---

反链：

- [泛域名转发](/extend/feature/wildcard-domain.html)
