以前想上线一个简单的静态网页,流程往往挺让人头疼:要么丢到自建的 VPS 上,不仅要配 Nginx、调防火墙,还得定期操心 acme.sh 的 HTTPS 证书续期;要么托管到 GitHub Pages或者Cloudflare Pages,但国内直连的访问速度实在一言难尽。
今天刚折腾完一套新方案,真香:GitHub 私有仓库 + Vercel 托管 + Cloudflare 自定义域名。不仅完全免费(白嫖 Vercel 每月 100GB 流量),全程不需要在本地电脑安装任何开发环境,而且国内访问速度飞起,连证书都不用自己维护了。
现在就把这套方案的完整玩法、核心优势以及横向对比盘点一下。
一、 为什么一定要用“私有仓库”?
在动手之前,很多人会有一个顾虑:“网页源码放在 GitHub 上,别人岂不是全都能看光?”
其实完全不用担心。把 GitHub 仓库设置为私有(Private),对 Vercel 的部署没有任何影响。
安全私密:Vercel 通过 GitHub 授权后,可以安全地在云端读取你的私有代码并完成自动构建。外人在 GitHub 上根本搜不到也看不到你的源码。
兼顾开源与隐私:既能享受现代 Git 托管的便捷,又能把自己的业务逻辑、脚本或私密页面保护得密不透风。
二、 保姆级部署流程:零开发环境,纯浏览器搞定
不需要装 Git、不需要 Node.js、不需要敲命令行,全程在网页上点一点就能搞定。
1. 传源码(GitHub)
打开 GitHub,新建一个仓库,权限勾选 Private(私有)。直接把你本地的 index.html 以及相关的 CSS/JS 文件用鼠标拖拽上传到网页端,点击 Commit 保存。
2. 部署(Vercel)
打开 Vercel 官网,选择使用 GitHub 账号登录。
点击 Add New... -> Project,在列表中找到你刚才创建的私有仓库,点击 Import。
配置保持默认(Framework 选 Other 即可),直接点击 Deploy开始部署。十几秒钟看到页面放烟花,就代表云端构建成功了。此时 Vercel 会给一个临时的 xxx.vercel.app 访问地址。
3. 绑域名(Cloudflare)
进入 Vercel 项目后台的 Settings -> Domains,输入你想用的自定义域名(例如 mysite.xxx.com)。
登录你的 Cloudflare 后台,添加一条 CNAME 记录:
Name 填域名前缀(如 mysite)。
Target 填 Vercel 给出的目标地址(如 cname.vercel-dns-015.com.)。
Proxy status(代理状态):务必保持灰色(DNS only / 直连模式)。
Vercel 给出的目标地址见下图:

保存后等待几秒,Vercel 会自动签发 SSL 证书,大功告成!
三、 以后怎么更新页面?
以后要是网页内容改了,依然不需要配任何环境:直接在浏览器打开 GitHub 的私有仓库,在线修改文件或者直接拖拽新文件覆盖,Vercel 能够秒级监听到变动,在后台自动完成重新编译和发布。
四、 比传统的 VPS 或其他平台的优势
相比于传统的部署方式,这三者的结合在体验上实现了降维打击:
相比自己架设 VPS:
省心:彻底告别服务器宕机、系统安全加固以及手动配置 Nginx 的烦恼。
证书全自动:最爽的是不用再写定时任务去续期 HTTPS 证书了,Vercel 自带全球自动化的证书管理,真正做到“只管写页面,其他全托管”。
相比 GitHub Pages:
速度质的飞跃:GitHub Pages 的底层网络调度对国内用户不太友好,经常出现高延迟或阻断。而 Vercel 配合 Cloudflare DNS 解析,国内直连的响应速度和稳定性要好得多。
相比单独使用 Cloudflare Pages:
国内稳定性更高:Cloudflare Pages 的免费节点在国内由于网络策略调整,其官方分配的 IP 经常出现间歇性波动;而 Vercel 结合合理的自定义域名解析,国内主流网络的直连表现往往更加稳健。