阿里云近期也推出了边缘安全加速ESA免费版,现可免费领取,与腾讯EdgeOne形成直接竞争。这对于广大站长而言无疑是好消息——市场竞争越充分,用户越能享受到更优质的服务。
我之前曾尝试过腾讯EdgeOne,但实际体验并不理想,后来便停用了。现在选择阿里云ESA,一方面是因为它承诺的几大亮点:
真·无限流量:无惧突发访问,无流量限制
安全内置:基础防护默认开启,无需额外配置
无隐藏条款:永久免费,无试用倒计时,更无自动扣费风险
另一方面,我的服务器本就托管在阿里云,估计在兼容性和调度上会更顺畅一些。
接入并配置ESA
配置过程非常简单,与EdgeOne类似:点击新增站点,输入你的域名,然后按照引导完成后续步骤。验证域名后,若已备案可选择中国大陆或全球加速,再通过CNAME或NS接入即可。
配置边缘证书
申请SSL证书时遇到了小插曲:起初尝试泛域名多次失败,后来换成单域名才成功。虽然官方说明支持泛域名,实际却未通过,这一点稍显不便。不过最终成功部署了SSL证书,完成了最基础的加速配置。
缓存规则的配置
完成基础接入后,缓存规则的配置是决定加速效果的关键。相比EdgeOne为WordPress提供了现成模板,ESA则需要在“规则-缓存规则”中手动配置。
免费版限制为5条规则,每条自定义规则内最多可添加3个条件。我根据最佳实践,配置了以下5条规则(其中规则1和5启用缓存,规则2、3、4不缓存),实测效果良好。
1、静态资源全缓存
表达式生成预览:
(http.request.uri.path.extension in {"jpg" "webp" "js" "css" "png" "jpeg" "gif" "svg" "ico"})
2、动态请求不缓存
表达式生成预览:
(http.request.uri.path.extension in {"php"})
php格式的文件不缓存,您也可以根据需要增加jsp、asp、aspx等格式。
3、登录用户不缓存
表达式生成预览:
(starts_with(http.request.full_uri, "你的WordPress域名") and http.cookie contains "wordpress_logged_in")
判断登录用户cookie含有“wordpress_logged_in”,不缓存。
4、评论用户不缓存
表达式生成预览:
(starts_with(http.request.full_uri, "你的WordPress域名") and http.cookie contains "comment_author")
用户发表评论后,若cookie记录评论者信息“comment_author”,则不缓存。
5、未登录用户缓存
表达式生成预览:
(starts_with(http.request.full_uri, "你的WordPress域名") and not http.cookie contains "wordpress_logged_in")
最后兜底,对所有不满足上述“不缓存”条件的请求(即未登录访客的访问)进行缓存。
其他关键配置
获取真实客户端IP
启用CDN后,用户评论显示的IP会变为CDN节点地址。为获取真实IP,在“规则-转换规则-托管转换”的 开启 “添加真实客户端IP标头”,使用默认标头名称 ali-real-client-ip。然后nginx中添加
# 注意:最好的做法是 set_real_ip_from 只允许阿里云的 IP 段
set_real_ip_from 0.0.0.0/0;
real_ip_header ali-real-client-ip;
real_ip_recursive on;
目前这样配置能获取真实的IP,但写法我觉得不够严谨,理想情况下应仅配置阿里云ESA的官方IP段。如果有懂的同学可以指导一下。
开启IPv6支持
在“速度和网络-优化-网络优化”中开启IPv6,可进一步提升访问兼容性。
效果验证
如何验证页面是否被缓存?可以通过浏览器开发者工具,检查标头/响应头(Response Headers)中的 x-site-cache-status 标识:
HIT:你的文件已经命中缓存。这表示用户获取文件的方式途径为从CF缓存服务器中获取而非你的源服务器,不消耗你的服务器资源
MISS:已经在缓存服务器中查找了你所请求的文件,但是并没有找到,缓存服务器将会回源至你的服务器中获取该文件,当下次请求时该文件就会显示HIT
BYPASS:已经被要求不缓存该文件,用户将直接从网站源服务器中获取文件,这个通常是因为请求的文件响应了NO-Cache header
EXPIRED:自上次缓存之后,文件的缓存期限已经过期,将会再度回源至网站源服务器进行获取文件,当下次请求时该文件就会显示HIT
DYNAMIC:默认不缓存文件,也没有对应的缓存配置,用户将从网站源服务器获取该文件
未登录访问应看到 HIT,登录用户看到 DYNAMIC,这表示缓存规则生效正常。
续费
值得一提的是,虽然免费套餐默认有效期为一年,但支持自动续期。用户也可主动操作,进入套餐管理页面,在续费中选择“设置续费规则”,弹出的页面选续费一年,支付 0 元。每次续费一年,重复操作,最长可续至2050年。
目前整体使用体验良好,测速结果全线飘绿,加速效果明显。期待阿里云ESA能稳定运行,不再出现此前使用EdgeOne时遇到的问题。
我也用上了,不过测试下来好像没有edgeone快?
ESA:https://bbs.eeclub.top/
edgeone:https://bbs2.eeclub.top/
cloudflare:https://bbs4.eeclub.top/
怕养熟了再杀?
加入。