
现在用 AI 做一个网站已经不难了。
页面生成、交互调整、代码修改,基本都可以通过对话完成。但代码写完以后,还有一步:把网站部署出去,让别人也能打开。
这时候就会遇到几个常见选择:
- Vercel
- Cloudflare Workers / Pages
- ChatGPT 自带的 Sites
它们都能发布网站,但开发流程、后端能力和费用规则并不相同。面向国内用户时,还要考虑域名、网络和第三方服务的访问情况。
这篇文章主要讲清楚:
- 三种服务分别解决什么问题
- 如何按项目场景选择
- 免费额度和付费起点有什么区别
- 绑定自己的域名,对国内访问有什么帮助
- 上线前如何检查页面和核心功能
资料核对日期:2026 年 9 月 8 日。本文是官方资料梳理与选型分析,未进行三家平台的中国大陆多运营商对比实测。
一、先分清建站、托管和域名解析
讨论平台之前,可以先把一个网站拆成几部分:
text
编写网站代码
↓
构建与部署
↓
网站运行环境与静态资源
↑
用户通过域名访问
对应到开发过程:
| 环节 | 主要负责什么 |
|---|---|
| 开发工具 / AI 编程工具 | 生成、修改和调试代码 |
| 部署平台 | 构建代码、发布版本、提供运行环境 |
| 域名与 DNS | 让用户通过域名找到服务 |
| CDN | 分发和缓存内容,缩短部分请求的访问路径 |
| 后端与数据存储 | 处理业务、保存数据、管理上传文件 |
这些能力可以由一家平台提供,也可以组合使用。
所以,选择时先确定自己的需求:是发布一个静态页面,还是运行一个带接口、登录和数据库的应用。
二、三种服务分别适合什么项目
1. Vercel:围绕代码仓库构建和发布
Vercel 的使用流程与日常开发衔接得比较紧:
text
代码仓库
↓
提交代码
↓
自动构建
↓
预览部署 / 生产部署
它提供 Next.js 集成、分支预览、环境管理、Functions 和回滚等能力。多人协作时,可以先查看某个分支的部署结果,再决定是否发布到正式环境。Vercel 官方文档
我会优先在这些场景评估它:
- 已经使用 Next.js 的项目
- 更新比较频繁的产品网站
- 需要分支预览和团队协作的项目
- 希望减少部署流程配置的开发团队
2. Cloudflare:组合网站、后端和基础设施
Cloudflare 的范围比较大,这里主要讨论 Workers 和 Pages。
Workers 可以同时部署静态资源和服务端代码,例如:
text
网站页面与图片
+
处理 /api 请求的 Worker
↓
一次部署
因此,博客、文档站、前端应用和带轻量接口的小工具,都可以把它纳入候选。Workers 静态资源文档
新项目还要留意一个变化:Cloudflare 当前建议优先使用 Workers。 Pages 仍然可以使用,但官方把 Workers 作为构建应用的主要平台。Pages 官方说明
选择 Cloudflare 时,我会同时评估构建适配、运行时限制和资源配置,确认现有项目能否顺利迁移。
3. ChatGPT Sites:通过对话完成创建与发布
Sites 把网站生成、修改和托管放进了对话流程,也支持 D1 数据库和 R2 文件存储。
在相关功能开放的账号中,可以绑定自己的域名;公开站点也可以允许访客不登录 ChatGPT。具体能力受账号和工作区设置影响。Sites 官方说明
我的选型建议是:活动页、展示页、内部小工具等项目,可以从 Sites 开始。需求复杂起来后,再评估运行环境和部署方式是否适合长期维护。
三、放到一张表里比较
下表是基于上述能力的选型判断:
| 对比项 | Vercel | Cloudflare Workers / Pages | ChatGPT Sites |
|---|---|---|---|
| 工作重心 | 代码、环境和发布流程 | 代码与平台资源配置 | 对话修改和站点管理 |
| 比较适合 | Next.js 产品、团队项目 | 静态站点、前端应用、轻量 API | 展示页、活动页、小工具 |
| 选型时重点检查 | 框架集成、构建和资源费用 | 项目适配、运行时与资源限制 | 功能开放范围、运行环境与额度 |
| 面向国内用户 | 测试实际域名与完整功能 | 测试实际域名与完整功能 | 测试实际域名与完整功能 |
开发体验与国内访问体验需要分别评估。一个平台很适合你的技术栈,并不能直接证明目标用户的网络访问也符合要求。
四、免费套餐和费用怎么理解
截至本文核对日期,三家的收费方式如下:
| 服务 | 免费或订阅内能力 | 需要注意 |
|---|---|---|
| Vercel | Hobby 免费,限个人非商业用途 | Pro 为 20 美元/月起,额外开发者席位和资源使用可能增加费用 |
| Cloudflare Workers | 有免费额度,直接服务静态资源的请求免费且不限次数 | 付费计划为 5 美元/月起,执行代码和使用其他资源需按规则计费 |
| ChatGPT Sites | 公开测试阶段向 Plus、Pro、Business 等订阅开放 | 受套餐用量限制,不能理解为无限网站托管 |
定价依据:Vercel、Cloudflare Workers、Sites。
这里的 20 美元和 5 美元包含不同资源,不能直接比较最终账单。
例如,一个纯静态博客和一个每次访问都执行后端逻辑的应用,即使页面数量一样,消耗的资源也可能完全不同。
五、国内不挂梯子能不能访问
1. 先区分三个结果
text
部署成功:平台已经接收并运行这个版本
允许公开访问:访客不需要额外的访问授权
国内能够直连:目标用户的实际网络能够完成请求
这三个结果需要分别确认。
"平台给了一个公开链接",证明的是发布与权限状态;能否从国内打开,需要检查那个实际地址。
2. Cloudflare:看具体域名和网络
普通 Cloudflare 站点并不以访客使用 VPN 为访问前提。
如果某个站点在关闭代理后能够打开,这能证明该地址在当时的网络下可以直连。这个结果不能自动扩展到所有运营商、所有时间段和其他域名。
默认的 *.pages.dev、*.workers.dev 和自定义域名,应分别验证。Cloudflare 官方建议生产 Workers 使用自定义域名或路由,但这项部署建议本身不保证大陆可达性。Workers 域名说明
另外,Cloudflare 的"中国网络"是提供大陆节点的独立企业服务,需要 Enterprise 套餐另行订购。没有购买这项服务,不能直接推导出"国内无法访问";普通全球网络的跨境访问仍可能受到链路波动影响。中国网络说明
3. Vercel:自定义域名有官方改善建议
Vercel 的大陆访问指南明确提到:
- 默认的
*.vercel.app域名可能受到阻断或限速 - 换成自定义域名可能改善访问
- 平台仍无法保证大陆的可用性和性能
因此,Vercel + 自定义域名可以作为改善方案测试。 域名绑定成功后,还要验证页面和业务操作。Vercel 大陆访问指南
4. Sites:域名功能与访问效果分别验证
Sites 支持的自定义域名、公开访问和登录设置,前面已经介绍过。但其官方说明没有给出绑定域名后的大陆直连保证,本文也没有相关实测结果。Sites 文档
如果考虑用它服务国内用户,可以先发布一个小页面,绑定域名,再检查匿名访问和核心功能。需要身份登录的项目,还要把登录跳转和回调一起测完。
六、域名放在 Cloudflare,不代表网站也部署在那里
这是配置时很容易混淆的地方。
假设网站部署在 Vercel,只把域名解析交给 Cloudflare:
| 配置状态 | 网站请求的路径 |
|---|---|
| DNS only | Cloudflare 提供解析结果,网站流量不因此经过 Cloudflare 代理 |
| Proxied | 网站流量经过 Cloudflare 代理,源站仍可能在其他平台 |
| 代码部署到 Workers / Pages | 网站本身使用 Cloudflare 的托管或运行能力 |
前两种状态的区别见 Cloudflare DNS 文档。
所以,排查问题时需要说清楚自己配置了哪一层。
也不要默认认为"在 Vercel 前面再套一层 Cloudflare"就能解决国内访问。Vercel 的大陆访问指南明确表示不建议在部署前额外放置代理;组合方案需要核对平台要求。Vercel 官方指南
七、上线前可以这样检查
1. 先看 DNS 解析
将下面的 example.com 替换为实际域名:
bash
dig example.com +short
能获得解析结果,说明 DNS 查询有响应;它不能证明网页、接口和登录都正常。
2. 再看 HTTPS 请求
macOS / Linux 可以使用:
bash
curl --noproxy '*' \
--connect-timeout 10 \
--max-time 20 \
-L -o /dev/null -sS \
-w 'HTTP=%{http_code}\n耗时=%{time_total}s\n最终地址=%{url_effective}\n' \
https://example.com/
这里主要观察:
- 是否连接超时
- 最终的 HTTP 状态码
- 请求耗时
- 是否跳转到了预期地址
--noproxy '*' 用于禁用 curl 的代理配置,不会关闭系统 VPN 或 TUN。测试国内直连时,需要先确认网络环境。
即使返回 200,也应检查实际页面内容,避免把登录页或验证页当成业务页面。
3. 用浏览器走完核心功能
| 检查内容 | 需要观察什么 |
|---|---|
| 页面 | 首屏和子页面是否正常 |
| 静态资源 | 图片、字体、CSS、JavaScript 是否加载 |
| 接口 | 数据能否读取,表单能否提交 |
| 登录 | 跳转、认证、回调是否完整 |
| 文件 | 实际用到的上传和下载是否成功 |
这些操作要在关闭代理的目标用户网络中完成。尽量覆盖不同运营商,并在不同时段复测。
命令检查适合定位连接问题,浏览器操作用于确认用户能否完成任务。两部分结合起来,结果才更有参考价值。
八、按项目场景做选择
如果现在就要开始一个项目,我会这样安排:
| 项目情况 | 优先评估方向 |
|---|---|
| 已有 Next.js 项目,重视分支预览和协作 | Vercel |
| 静态博客、文档站或带轻量接口的小工具 | Cloudflare Workers |
| 希望在对话里快速做出展示页或活动页 | ChatGPT Sites |
| 国内用户为主,对跨境波动容忍度低 | 将大陆节点托管纳入优先评估 |
在大陆服务器上托管网站,需要按接入服务商要求办理 ICP 备案等手续。托管与备案要求
平台选型可以先从一个小版本开始:确认项目能构建,配置实际对外域名,再请目标用户走完一次核心流程。
后续是否长期使用,就有了具体依据:维护是否顺手、费用是否合适,以及用户能否顺利完成操作。