六维教程

EdgeOne Makers 常见问题

前面 12 篇教程把 EdgeOne Makers 的各个方面都讲了一遍,从注册账号到部署项目,从域名配置到 API 调用,从消息通知到排障指南。但在实际使用过程中,大家可能还会遇到各种各样的问题。这篇把最常见的疑问整理出来,一次性解答,同时也分享一些性能优化和最佳实践。

账号相关

免费额度有多少

EdgeOne Makers 提供免费的套餐,适合个人项目和小型团队使用。

资源 免费额度
项目数量 不限
每月带宽 100 GB
每月请求数 100 万次
构建时长 每月 100 小时
存储空间 每个项目 1 GB

对于个人博客、作品集、小型 API 服务来说,免费额度完全够用。

超出免费额度怎么办

超出免费额度后,项目不会立即停止服务,但会开始计费。

计费项 单价
额外带宽 0.5 元/GB
额外请求 0.001 元/千次
额外构建时长 0.1 元/分钟
额外存储 0.1 元/GB/月

如果预计会超出很多,建议升级到付费套餐,价格更优惠。

支持哪些支付方式

支付方式 说明
微信支付 扫码支付,最方便
支付宝 扫码支付
银行卡 支持国内各大银行
企业转账 企业用户可以走对公转账

部署相关

部署后多久能访问

正常情况下,部署完成后几秒到几分钟内就能访问。

情况 访问速度
默认域名 几秒内可用
自定义域名(首次) 需要等待 DNS 生效,几分钟到 24 小时
自定义域名(非首次) 几分钟内可用
全球加速 首次分发需要几十秒,后续访问走缓存

可以部署私有仓库吗

可以。支持 GitHub、GitLab、Bitbucket 的私有仓库。

关联 Git 账号时,授权范围选择”私有仓库”即可。

支持 monorepo 吗

支持。如果你的仓库包含多个项目(比如用 pnpm workspace 或 turborepo),可以在项目配置中指定子目录。

{
  "rootDirectory": "packages/web"
}

这样平台只构建和部署 web 这个子项目。

可以部署 Docker 镜像吗

目前不支持直接部署 Docker 镜像。

EdgeOne Makers 的定位是应用托管平台,不是容器平台。如果你的项目需要自定义运行环境,可以通过构建脚本安装依赖。

如果确实需要容器化部署,建议使用腾讯云的其他产品,比如容器服务 TKE。

构建失败怎么重试

在控制台的部署记录里,找到失败的部署,点击”重新部署”按钮。

也可以用 CLI:

edgeone deploy --retry

域名相关

可以绑定多少个自定义域名

每个项目可以绑定的自定义域名数量:

套餐 域名数量
免费版 每个项目 10 个
付费版 每个项目 100 个
企业版 不限

支持中文域名吗

支持。中文域名(比如 我的网站.com)也可以绑定。

不过中文域名在浏览器里会显示为 Punycode 编码,用户体验不太好,建议还是用英文域名。

域名可以转移到其他项目吗

可以。在域名管理里先解绑,然后在另一个项目里重新绑定。

转移过程中会有短暂的中断,建议在流量低峰期操作。

支持 HTTP/2 和 HTTP/3 吗

支持。所有通过 EdgeOne Makers 部署的网站都自动启用 HTTP/2。

HTTP/3 也在逐步开放中,部分地区已经支持。

性能优化

如何加快首屏加载速度

优化手段 说明
代码分割 按路由拆分代码,避免一次性加载
图片优化 使用 WebP 格式,压缩图片
开启 Gzip 平台默认开启,检查是否被禁用
使用 CDN EdgeOne Makers 自带 CDN 加速
预加载关键资源 用 link rel=”preload” 提前加载
减少第三方脚本 每个脚本都会拖慢加载速度

如何优化 API 响应速度

优化手段 说明
使用 Edge Functions 轻量逻辑放边缘节点,延迟更低
缓存响应 设置合理的 Cache-Control 头
数据库优化 加索引、减少查询、使用连接池
压缩响应体 开启 Gzip 或 Brotli 压缩
减少请求次数 合并接口,避免多次请求

如何减少带宽消耗

优化手段 说明
压缩静态资源 构建时开启压缩
图片懒加载 视口外的图片延迟加载
使用字体子集 只包含用到的字符
开启缓存 静态资源设置长缓存时间
删除无用代码 Tree shaking 去掉死代码

缓存策略

EdgeOne Makers 默认的缓存策略:

资源类型 缓存时间
HTML 文件 不缓存
JS/CSS 文件 1 年(带 hash 的文件名)
图片 1 个月
字体 1 年
API 响应 不缓存

可以在 edgeone.json 中自定义缓存规则:

{
  "headers": [
    {
      "source": "/static/**",
      "headers": [
        {
          "key": "Cache-Control",
          "value": "public, max-age=31536000, immutable"
        }
      ]
    }
  ]
}

安全相关

如何防止恶意请求

防护手段 说明
速率限制 限制 API 的请求频率
CORS 配置 只允许信任的域名跨域访问
请求验证 验证请求来源,防止伪造
WAF 启用 Web 应用防火墙

CORS 配置示例:

export default function handler(req, res) {
  res.setHeader('Access-Control-Allow-Origin', 'https://trusted-domain.com');
  res.setHeader('Access-Control-Allow-Methods', 'GET, POST');
  res.setHeader('Access-Control-Allow-Headers', 'Content-Type');
  
  if (req.method === 'OPTIONS') {
    res.status(200).end();
    return;
  }
  
  // 处理业务逻辑
}

如何保护环境变量

环境变量本身就是安全的,不会暴露在前端代码里。

但要注意:

注意事项 说明
不要在前端代码中读取敏感变量 前端代码会被用户看到
使用加密环境变量 防止控制台泄露
定期轮转密钥 降低泄露风险
限制访问权限 只给需要的人

是否支持 DDoS 防护

支持。EdgeOne Makers 基于腾讯 EdgeOne 的安全能力,自带 DDoS 防护。

防护类型 说明
L3/L4 DDoS 自动防护,不需要配置
L7 DDoS 自动识别和拦截恶意流量
CC 攻击 速率限制 + 人机验证

迁移相关

从 Vercel 迁移到 EdgeOne Makers

迁移步骤:

步骤 说明
1. 导入项目 从 Git 仓库导入
2. 配置环境变量 把 Vercel 的环境变量搬过来
3. 调整构建配置 大部分情况下零配置就能用
4. 测试预览 在预览环境测试
5. 切换域名 把 DNS 指向 EdgeOne

详细的迁移指南在 EdgeOne Makers 迁移指南 里。

从 Netlify 迁移到 EdgeOne Makers

Netlify 的配置文件是 netlify.toml,EdgeOne Makers 用的是 edgeone.json。

主要区别:

Netlify EdgeOne Makers
netlify.toml edgeone.json
_redirects 文件 redirects 配置
_headers 文件 headers 配置
Functions 目录 edge-functions 目录

迁移时需要把这些配置文件转换一下。

从 Cloudflare Pages 迁移到 EdgeOne Makers

Cloudflare Pages 的配置相对简单,迁移也比较容易。

主要注意:

Cloudflare Pages EdgeOne Makers
Wrangler 配置 edgeone.json
Workers 函数 Edge Functions
KV 存储 需要对接其他存储服务
R2 存储 需要对接其他存储服务

最佳实践

项目结构建议

my-project/
├── src/                  # 源代码
├── public/               # 静态资源
├── package.json          # 依赖配置
├── edgeone.json          # EdgeOne 配置(可选)
├── .nvmrc                # Node 版本(可选)
├── .env.local            # 本地环境变量(不要提交)
└── .gitignore            # Git 忽略文件

Git 提交规范

规范 说明
有意义的提交信息 不要写 “fix” 或 “update”
小步提交 每次提交一个完整的改动
分支管理 main 是生产,develop 是测试
代码审查 PR 合并前要有 review

部署流程建议

环境 分支 部署方式
开发 feature/* 本地预览
测试 develop 自动部署到测试环境
预发布 release/* 部署到预发布环境
生产 main 自动部署到生产环境

监控建议

监控项 工具
部署状态 EdgeOne Makers 通知
网站可用性 第三方监控服务
性能指标 浏览器开发者工具
错误日志 EdgeOne Makers 日志
带宽使用 控制台监控面板

速查卡片

要点 说明
免费额度 每月 100GB 带宽、100 万请求
部署后访问 默认域名几秒内可用,自定义域名需等 DNS
性能优化 代码分割、图片优化、缓存策略
安全防护 CORS、速率限制、DDoS 防护
迁移支持 从 Vercel/Netlify/Cloudflare 迁移都有指南
最佳实践 合理的项目结构、Git 规范、部署流程
监控建议 部署通知、可用性监控、性能指标、错误日志
计费方式 超出免费额度后按量计费,可升级套餐
上一篇
EdgeOne Makers 排障指南
下一篇
EdgeOne Makers Functions 概览