日常运营网站时,你是不是总遇到这些问题:国内访问快但海外加载慢、网站没HTTPS被浏览器提示不安全、偶尔还会遇到恶意攻击?
如果你和我一样,域名(比如 chiplayout.net)托管在阿里云DNS、网站部署在阿里云ECS上,那阿里云ESA(边缘安全加速)绝对是性价比之选——基础免费版就能实现全球加速、HTTPS加密、WAF安全防护,今天就手把手教你从头到尾配置好!
一、配置前必看:前提条件确认
先把这些准备工作做好,避免配置中踩坑: ✅ 域名已备案(服务中国大陆用户必须满足) ✅ ECS已开放网站端口(80/443或自定义端口如8080) ✅ ECS绑定弹性公网IP,且公网IP可正常访问 ✅ 阿里云账号完成实名认证 ✅ 已开通ESA服务(控制台搜索“边缘安全加速 ESA”,一键开通即可)
二、ESA完整配置步骤(以chiplayout.net为例)
步骤1:添加站点到ESA控制台
- 登录阿里云ESA控制台,左侧菜单点击「站点管理」→「新增站点」
- 填写核心信息:
- 主域名:chiplayout.net
- 接入方式:选「CNAME接入」(NS接入需要托管整个域名DNS,新手不推荐)
- 加速区域:全球(仅服务国内用户可选“中国内地”)
- 套餐类型:基础版(免费)
步骤2:验证域名所有权(TXT记录)
这一步是为了证明你是域名的所有者,操作很简单:
- 在ESA控制台复制系统生成的TXT记录值
- 打开阿里云DNS解析控制台,新增一条记录:
- 记录类型:TXT
- 主机记录:_esaauth
- 记录值:粘贴ESA生成的字符串
- TTL:保持默认即可
- 返回ESA控制台点击「验证」,验证成功后站点状态会变成“已验证”
步骤3:配置DNS CNAME接入(关键!)
这一步是让用户访问你的域名时,先走到ESA边缘节点,再回源到ECS:
第一步:在ESA控制台添加CNAME记录
进入站点→DNS→记录→添加记录:
- 记录类型:CNAME
- 主机记录:@(代表根域名,仅加速www.chiplayout.net则填www)
- 源站类型:IP地址(填ECS公网IP,比填域名更稳定)
- 回源HOST:chiplayout.net(必须和Web服务器的server_name匹配)
- 业务类型:网站页面
- 高级设置:启用「CNAME拉平」
第二步:修改阿里云DNS解析
- 删除原有指向ECS IP的A记录(比如@对应的A记录)
- 新增CNAME记录:
- 记录类型:CNAME
- 主机记录:@
- 记录值:粘贴ESA生成的CNAME地址(如chiplayout.net.a1.initll.com)
- TTL:600(默认)
✨ 配置完成后,用户访问chiplayout.net → ESA边缘节点 → 回源到你的ECS,加速链路就通了!
步骤4:配置回源规则(可选但推荐)
避免回源时端口/协议不匹配导致访问失败:
- 路径:规则→回源规则→新增规则
- 规则名称:自定义(如chiplayout_backsource)
- 匹配条件:
- 字段:主机名
- 操作符:等于
- 值:chiplayout.net
- 核心配置:
- 回源协议:HTTP/HTTPS(按ECS实际服务协议选)
- 回源端口:80/8080(填ECS上Web服务的实际端口)
- 回源HOST:chiplayout.net
步骤5:启用HTTPS(免费证书,必配!)
没有HTTPS的网站会被浏览器标红,ESA能一键申请免费证书:
- 路径:SSL/TLS→边缘证书→申请免费证书
- 证书域名:chiplayout.net(需要www则一并申请)
- 等待1-5分钟,系统会自动用Let’s Encrypt签发证书
- 证书生效后:
- 勾选「强制HTTPS」(自动跳转HTTPS)
- 开启「OCSP Stapling」(提升TLS加载性能)
💡 小技巧:ESA终止HTTPS加密后,回源可以走HTTP,能节省ECS资源。
步骤6:开启安全防护(WAF+流量限制)
避免网站被恶意攻击、流量刷爆:
1. 启用WAF防护
路径:安全防护→WAF→托管规则→添加「默认托管规则集」,防护模式选「拦截」
2. 设置流量封顶
路径:用量封顶→创建规则,比如设置阈值50GB/月,动作选「停用站点」或「告警」
步骤7:缓存优化(解决静态资源加载慢,重点避坑!)
静态资源(图片/CSS/JS)缓存到边缘节点,能大幅提升加载速度,这一步新手容易踩坑,重点讲正确配置:
❌ 错误做法(会标红)
直接填 /*.jpg|*.png|*.css|*.js → ESA不支持管道符|,会判定非法格式
✅ 正确做法(推荐)
一条规则覆盖所有静态资源,操作如下:
- 路径:缓存配置→缓存规则→新增规则
- 填写信息:
字段 填写内容 规则名称 Static Assets Cache 路径匹配模式 /* 文件扩展名 jpg,jpeg,png,gif,css,js,ico,woff,woff2,ttf 缓存时间 7天 忽略源站缓存头 ✅ 勾选 缓存键包含参数 ❌ 不勾选(静态资源带版本号如style.css?v=1.2则勾选)
💡 原理:匹配所有路径,但仅对指定扩展名的静态资源生效,不会误缓存动态页面。
额外优化:HTML页面缓存(针对静态站点)
如果你的网站是Hugo/Hexo等静态站点,即使首页/文章页无扩展名(如chiplayout.net/),也能配置缓存提升速度: 新增一条缓存规则:
| 字段 | 填写内容 |
|---|---|
| 规则名称 | HTML Pages Cache |
| 路径匹配模式 | /* |
| 文件扩展名 | 留空 |
| 缓存时间 | 1小时(便于后续更新) |
| 忽略源站缓存头 | ✅ 勾选 |
三、验证配置是否生效
配置完别着急,按这3步检查是否生效:
1. DNS检查(确认CNAME解析成功)
打开终端执行命令:
dig chiplayout.net CNAME✅ 预期结果:返回ESA的CNAME地址(如*.initll.com)
2. 访问测试(确认HTTPS和缓存生效)
(1)检查静态资源缓存
执行命令:
curl -I https://chiplayout.net/logo.png✅ 预期结果:
- X-Site-Cache-Status: HIT(首次访问是MISS,再次访问变成HIT)
- Cache-Control: max-age=604800(对应7天缓存)
(2)检查HTML页面状态
执行命令:
curl -I https://chiplayout.net/如果看到 x-site-cache-status: DYNAMIC 且无Cache-Control,属于正常现象:
- DYNAMIC:ESA默认把无扩展名路径识别为“动态内容”,未配置缓存时会回源拉取
- 优化:按上文配置HTML页面缓存后,会变成HIT/MISS,且出现Cache-Control头
3. 全球测速
用WebPageTest工具,选择不同地区节点测试网站加载速度,能明显看到海外访问速度提升。
四、常见问题解答
Q1:缓存规则填/.jpg|.png为什么标红?
A:ESA缓存规则不支持管道符|、正则表达式,仅支持通配符*或“文件扩展名”列表(英文逗号分隔),按上文“正确做法”配置即可。
Q2:curl -I https://chiplayout.net/ 显示x-site-cache-status: DYNAMIC?
A:正常!ESA默认将无扩展名路径(如首页)识别为动态内容,静态站点可按上文配置HTML页面缓存(1小时),既提升速度又不影响更新。
Q3:如何进一步提升安全性?
A:ECS安全组仅允许ESA回源IP段访问(ESA控制台可下载IP段),避免直接暴露ECS公网IP。
五、总结
- 阿里云ESA基础免费版能满足中小网站的核心需求:全球加速、HTTPS、WAF防护,配置核心是CNAME接入+证书申请+缓存规则。
- 缓存规则避坑:用“文件扩展名”列表配置静态资源缓存,静态站点可额外配置HTML页面缓存。
- 验证生效的关键:检查CNAME解析、缓存响应头、HTTPS状态,DYNAMIC状态可通过规则优化。
按照这个教程配置,你的网站既能实现全球访问加速,又能保证HTTPS安全和防攻击,赶紧动手试试吧!🚀
