# 域名模式

> 通过 Cloudflare 添加 CDN 回退以增强对 IP 阻止的抗性。

## 域名模式添加的内容

```
meridian deploy 198.51.100.10 --domain vpn.example.com
```

没有域名时，出口已经提供 Reality，以及服务器 IP 上的 XHTTP 和 Hysteria2。有了自己的域名，会发生两点变化：

- **XHTTP** 移到你的域名上，并在那里新增 **WSS**，使用 Meridian 颁发和续期的 Let's Encrypt 证书（acme.sh）
- 一旦域名通过 Cloudflare 代理，两条路径都通过 Cloudflare 的 CDN 传输 — 所以即使您的服务器 IP 被阻止它们也继续工作

面板和连接页面保持在服务器的 IP 证书上；域名仅承载代理路径。

UDP/443 上的 Hysteria2 也会改用域名的证书（见 [Hysteria2 和 Cloudflare](#hysteria2-和-cloudflare)）；`--no-hysteria2` 可将其关闭。

## Cloudflare 设置

**按此顺序**避免证书问题：

1. 在 Cloudflare 中添加您的域并创建指向您的服务器 IP 的 **A 记录**
2. 保持云图标**灰色**（"仅 DNS"）
3. 运行 `meridian deploy 198.51.100.10 --domain vpn.example.com` — Meridian 获取证书
4. 将记录切换到**橙色云**（代理）
5. 将 SSL/TLS 设置为 **Full (Strict)** 并打开 **WebSockets**（网络设置）

部署完成时再打印这些步骤。

> **重要：** 证书使用端口 80 上的 HTTP 挑战颁发。Cloudflare 的 "Always Use HTTPS" 破坏该挑战 — 关闭它，或豁免 `/.well-known/acme-challenge/*`。

## 连接链接

每个客户端的订阅和连接页面列出每条路径：

| 路径 | 路由 | 何时有帮助 |
|------|-------|---------------|
| Reality | 直接到服务器 IP | 主要 — 最快 |
| XHTTP | 您的域名（代理时通过 Cloudflare） | Reality 被阻止或节流 |
| WSS | 您的域名（代理时通过 Cloudflare） | 服务器 IP 被阻止 |
| Hysteria2 | 通过 UDP/443 连接服务器 IP，使用域名证书 | 丢包或高延迟网络，或所有 TCP 路径都被阻止时 |

导入 Xray JSON、Mihomo 或 sing-box 订阅的应用在一条路径停止工作时自动在路径间切换。其他应用将每条路径显示为单独条目。

## Hysteria2 和 Cloudflare

Hysteria2 通过 UDP 直接连接服务器 IP，域名仅用于其 TLS 证书，因此即使记录经由 Cloudflare 代理（Cloudflare 无法承载这类流量）也能正常工作。Salamander 混淆让它的数据包看起来是随机的，而不像 QUIC。在 UDP 被阻止的地方，应用会回退到上面列出的 TCP 路径。

## 稍后添加域名

使用添加的 `--domain` 再次运行您的部署命令。现有 Reality 链接保持工作。要稍后删除域名，无需 `--domain` 重新部署：XHTTP 和 WSS 路径被删除，订阅更新。
