---
url: /blog/2feqdw70/index.md
---
由于网上真的教程太多了，有 `Worker` 的也有多个域名的，各自方案全都有，而且详细度参差不齐\
干脆自己整理一个好用的，方便以后自己用

## 前提

::: danger
优选域名似乎只能使用最多一级的子域名，如果是多级子域名，则需要购买高级证书管理器了。\
:::

前提是得找到一个优选域名。\
目前可以使用 <https://cf.090227.xyz/>

因此为了适配 `SaaS` 的这种情况，需要先做一个部署。\
到我们要的域名的 DNS --> 记录。添加一条记录：

* 类型：`CNAME`
* 名称：`cdn`
* 目标：`*.cf.090227.xyz`，比如说 `cdn.cf.090227.xyz`
* 代理状态：仅DNS

这样我们可以得到一个 `cdn.114514.site` 。

## R2

首先先到 `R2` 的存储桶里。

先给存储桶开一个自定义域，举例说设置叫 `slow.r2.114514.site`\
然后到对应的域名（`114514.site`），侧边栏找到**规则**，点击里面的 `Cloud Connecter` 。\
在 “选择您的提供商后开始” 中选择 `Cloudflare R2` 。

然后在 “R2 存储桶” 中选择目标的存储桶，“存储桶自定义域” 选择刚才新建的 `slow.r2.114514.site` ，点击下一步。\
随便命名一个Cloud Connector 名称，然后在下面的 “当传入请求匹配时...” 中：

* 字段：选择**主机名**
* 运算符：选择**等于**
* 值：填写**实际使用的域名**，比如说 `r2.114514.site`

随后，点击部署。在弹出弹窗中选择 “忽略并继续部署规则”

最后，前往 DNS --> 记录。添加一条记录：

* 类型：`CNAME`
* 名称：`r2.114514.site`
* 目标：`cdn.114514.site`
* 代理状态：仅DNS

## Cloudflare Pages

迁移到 `Worker` 吧，方便搞优选。\
主要也就是，给源码的根目录新建一个 `wrangler.jsonc` ，里面填：

```jsonc
{
    "name": "114514", // 建议用源码仓库名，方便记
    "compatibility_date": "2026-07-21", // 今天的日期
    "assets": {
        "directory": "./dist", // 这里是构建完毕后的输出目录
        "not_found_handling": "single-page-application" // Vue应用应该会经常遇到刷新404问题，用这个解决
    }
}
```

## Cloudflare Worker

在 “自定义域和路由” 中，添加路由：

首先选择要添加到的域名，比如说 `114514.site`\
然后，在路由模式中输入 `worker.114514.site/*`，注意后面一定要填 `/*` ，然后点击添加路由。\
最后，前往 DNS --> 记录。添加一条记录：

* 类型：`CNAME`
* 名称：`worker.114514.site`
* 目标：`cdn.114514.site`
* 代理状态：仅DNS
