Memos已经成为我日常生活记录不可或缺的一个重要服务了,但是因为我经常性出差海外,便有一个从海外日常使用Memos的高网络时延的问题,严重影响使用,于是我就开始打算为Memos部署CDN服务进行加速。
开始其实只想使用普通CDN服务,但是实践后发现Memos自0.25.0版本后,依赖gRPC连接,而普通CDN服务并不支持,因此无法使用普通CDN服务进行加速。
随后注意到可以升级使用边缘安全加速ESA服务,支持客户端建立gRPC连接,以及gRPC回源。
1. WAF反代站点
由于使用了雷池WAF作为Memos对外提供服务的反代,因此,需要在WAF
中添加反代站点。
站点域名: timepoet.com(与ESA加速域名一致)
端口: 1443(ESA加速中的回源端口)
WAF的高级配置中,需要开启:
2. 站点管理
新增站点
,使用顶级域名接入ESA,因为域名已经备案,选择区域和接入方式
选择全球
,然后新购一个基础版套餐。
阿里云安全加速ESA服务,基础版一年的费用是59.4块,便宜啊!甚至如果发帖还能每周免费领一个月。
购买完成后,回到站点管理
即可以开始配置啦。
3. 域名DNS配置
进入DNS
->记录
,添加新的DNS记录,新增CNAME记录,开启代理加速,设置回源域名为WAF
应用域名,指定回源HOST为跟随请求HOST
。
4. 设置TLS
4.1. 设置边缘证书
进入SSL/TLS
->边缘证书
,打开开启SSL/TLS
:
同时,在下面的证书管理
处可以申请免费证书,59块钱还可以自动续期免费的证书,香啊!!!
接下来打开强制HTTPS
,并且选择强加密算法套件
:
打开OCSP Stapling
:
开启HSTS
:
4.2. 设置源站证书
在源站证书
中,配置回源协议和端口,回源协议选择HTTPS
,HTTPS端口设置后端回源站端口1443
:
5. 设置WAF规则
在安全防护
->WAF
模块中,在自定义规则
中,新增一条规则,匹配URL中包含/.git
路径,则拦截请求,以应用有太多无聊的人天天在扫/.git/config
。
6. 设置缓存策略
进入缓存
->配置
页面,在浏览器缓存过期时间
和边缘缓存过期时间
配置项,添加如下配置:
7. 速度和网络配置
进入速度和网络
->优化
,在速度优化
页签,开启:
- GZIP压缩
- Zstd压缩
- HTTP/2
- HTTP/2回源
- HTTP/3(QUIC)
然后切换到网络优化
页签,开启:
- IPv6
- WebSocket
- gRPC
至此,ESA端所有的配置设置完毕,接下来需要设置域名CNAME到ESA加速的域名。
8. CNAME设置
回到DNS
->记录
的列表,找到CNAME目标地址:
然后在DNS解析中,添加一条CNAME记录,解析至上述地址。
9. 测试访问
至此,一切配置完毕,访问加速度域名试试,从大巴黎体验飞一般的感觉吧!