# Cloudflare 自定义域名配置专题

本文适用于域名 DNS 托管在 Cloudflare，需要为 eLink 移动端独立域名配置 CNAME 和 SSL/TLS 的场景。

## 一、适用场景

如果商家的域名在 Cloudflare 中管理，例如 `example.com`，并希望将 `shop.example.com`、`learn.example.com` 等二级域名绑定到 eLink，可参考本文配置。

## 二、配置 CNAME

1. 登录 Cloudflare Dashboard。
2. 进入对应域名，例如 `example.com`。
3. 打开 DNS Records 页面。
4. 添加一条 CNAME 记录。
5. Name 填写子域名前缀，例如绑定 `shop.example.com` 时填写 `shop`。
6. Target 填写 eLink 后台展示的 CNAME 目标值。
7. TTL 保持 Auto 或默认值。
8. 保存记录后，等待 DNS 生效。

如果 eLink 后台需要校验 CNAME，建议先将 Proxy status 设置为 DNS only。校验通过后，再根据实际访问方案决定是否开启 Proxied。

官方参考：

- [Cloudflare 创建 DNS 记录](https://developers.cloudflare.com/dns/manage-dns-records/how-to/create-dns-records/)
- [Cloudflare DNS 记录类型](https://developers.cloudflare.com/dns/manage-dns-records/reference/dns-record-types/)

## 三、Proxy status 选择

Cloudflare 的 DNS 记录通常有两种状态：

1. DNS only：只做 DNS 解析，访问流量直接到 CNAME 指向的服务。
2. Proxied：访问流量先经过 Cloudflare，再转发到源站。

如果 eLink 后台只要求完成 CNAME 解析，优先使用 DNS only 完成校验。开启 Proxied 后，Cloudflare 会接管访问链路中的一部分 TLS、缓存和安全策略，可能影响校验或访问行为。

## 四、SSL/TLS 注意事项

Cloudflare Universal SSL 是 Cloudflare 托管的边缘证书，通常不能下载私钥后上传到 eLink。

如果 DNS 记录为 DNS only，浏览器访问时不会使用 Cloudflare 的边缘证书，而是由 CNAME 指向的服务负责 HTTPS。

如果 DNS 记录为 Proxied，浏览器到 Cloudflare 使用 Cloudflare 边缘证书，Cloudflare 到源站则需要根据 SSL/TLS encryption mode 配置。

常见建议：

1. 如 eLink 要求上传证书和私钥，请使用可导出证书、私钥和证书链的公开 CA 证书。
2. 不要把 Cloudflare Universal SSL 当作可上传到 eLink 的证书。
3. Cloudflare Origin CA 证书主要用于 Cloudflare 到源站之间的加密，不是普通浏览器默认信任的公开证书；只有在域名保持 Proxied 时才适合使用。
4. 如果开启 Proxied，建议确认 Cloudflare SSL/TLS 模式与源站证书匹配，优先使用 Full 或 Full (strict)。

官方参考：

- [Cloudflare SSL/TLS 概览](https://developers.cloudflare.com/ssl/)
- [Cloudflare Universal SSL](https://developers.cloudflare.com/ssl/edge-certificates/universal-ssl/)
- [Cloudflare Universal SSL 限制](https://developers.cloudflare.com/ssl/edge-certificates/universal-ssl/limitations/)
- [Cloudflare Origin CA](https://developers.cloudflare.com/ssl/origin-configuration/origin-ca/)
- [Cloudflare Full (strict) 模式](https://developers.cloudflare.com/ssl/origin-configuration/ssl-modes/full-strict/)
- [Cloudflare Custom certificates](https://developers.cloudflare.com/ssl/edge-certificates/custom-certificates/)

## 五、常见问题

### 1. CNAME 校验失败怎么办？

请检查：

1. Name 是否只填写子域名前缀，例如 `shop`。
2. Target 是否完整复制 eLink 后台提供的 CNAME 地址。
3. 同名记录是否已存在 A、AAAA 或其他 CNAME。
4. Proxy status 是否影响校验；可先切换为 DNS only 后重试。
5. DNS 是否还在生效中，可等待一段时间后重试。

### 2. 开启 Proxied 后访问异常怎么办？

请检查：

1. Cloudflare SSL/TLS encryption mode 是否正确。
2. 源站证书是否有效。
3. Cloudflare 是否启用了会影响页面访问的缓存、安全规则或重写规则。
4. 可临时切回 DNS only 判断问题是否来自 Cloudflare 代理链路。