3 min read

网站使用 Cloudflare + DNSPod 实现全球加速

网站使用 Cloudflare + DNSPod 实现全球加速

接上篇 Cloudflare优选IP替代方案 。这次我们来介绍一下网站使用 Cloudflare + DNSPod 实现全球加速的方案。

Cloudflare 是最好全球加速方案之一,唯一的缺陷是免费版国内网络访问很慢,无法满足国内加国际的网站访问需求。

最近阿里云国际推出了免费的边缘安全加速 ESA,腾讯云国际推出了Edgeone (兑换码免费),也是很好的全球加速方案,但是两者我们均做了试用,阿里云 ESA的节点网络国内访问速度比Cloudflare稍微好了一点点但是可用性依然很低。Edgeone的国内访问速度是不错的,不过我们只有一个免费的额度,还有一些稳定性的考量,我们着手了自建的方案。

资源准备

  • Cloudflare Sass 域名,这里用 sass-cloudflare.com 表示,域名随便,放置在 Cloudflare。用于提供Cloudflare 加速服务。
  • 网站主域名,这里用 main.com 表示。放置在DNSPod,借助 DNSPod 的线路功能实现分流国内请求和国际请求。
  • 国内访问速度好的一台云主机,这里称为国内加速主机, 地址用 2.2.2.2 表示,比如阿里云香港 200M 轻量云主机。用于国内流量加速。
  • 源站云主机,地址用 3.3.3.3 表示,用于网站服务实际的部署。

基本流程

实操

DNSPod 配置,国内流量通过 A 记录分流到国内加速主机,国外流量通过CNNAME分流到 Cloudflare Sass。

加速主机配置,使用SafeLine WAF(或 Nginx 等)代理到源站。

Cloudflare 配置,Cloudflare Sass 通过 自定义主机指向源站。Cloudflare Sass 开通需要绑定支付,但是不需要付费,开通免费套餐即可支持 100 个自定义主机。

sass-cloudflare.com 指向源站

至此操作均已完成。

有关Https和源站

SafeLine WAF 和 Cloudflare 均支撑自动生成免费证书,所以源站可以只监听 80 端口,无需支撑 Https,加速服务来支持 Https,然后转发到源站80 端口即可,Cloudflare SSL/TLS 加密设置为灵活模式。

源站 Nginx 只监听 80 端口的配置示例

server {
    listen 80;
    listen [::]:80;
    server_name main.com;

    location / {
         proxy_pass         http://127.0.0.1:3000;
    }


}