Skip to content

Commit

Permalink
a
Browse files Browse the repository at this point in the history
  • Loading branch information
penndu committed Nov 6, 2023
1 parent 10b75b1 commit bcf98d6
Showing 1 changed file with 14 additions and 2 deletions.
16 changes: 14 additions & 2 deletions source/_posts/643.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,45 +4,57 @@ tags:
- 服务
categories:
- 运维教程
date: 2023-11-07 00:00:00
date: 2023-11-05 00:00:00
---

>
> 有小伙伴希望杜老师出一篇自建 CDN 的教程,其实网上有那种集成的系统,如 wdCDN。不过这类系统几乎都有节点限制,如果想搭建更多的节点,则需支付相应费用。对此杜老师有一套自用的 CDN 搭建思路,今天同需要的小伙伴分享下!
<!-- more -->

## 搭建思路

如图。当用户访问去不图床时,首先通过网络解析域名。杜老师购买了专业版 DNSPod,可以通过地域判断实现智能解析,将请求交给最近一台服务器处理。服务器前置了雷池 Web 应用防火墙,拦截一波攻击流量,正常流量留置反代服务器上。反代节点连接到内穿服务器,从中获得网站数据。而去不图床通过企业路由器内置模块架设内网穿透,以保障连接稳定几高效。因为绘制空间有限,在这里文字说明下,去不图床有 7 个反代服务器,相当于同数量的 CDN 节点。相比常规 CDN 内置 DNS 智能解析,杜老师则借助了 DNSPod「DNSPod 免费版也可实现智能解析,只是地域判断不够精细」

{% gallery %}
![](https://cdn.dusays.com/2023/11/643-1.jpg)
{% endgallery %}

## 宝塔面板

如您使用宝塔面板,在搭建反代节点时,可先点击网站——添加站点,输入域名后点提交。进入站点设置——反向代理,如下图填写相关的信息即可。这里需要注意的是,为了实现类似 CDN 的加速功能,记得开启缓存,时间根据实际情况填写即可:

{% gallery %}
![](https://cdn.dusays.com/2023/11/643-2.jpg)
{% endgallery %}

## 1Panel 服务器面板

如您使用 1Panel 服务器面板,在搭建反代节点时,可先点击网站——创建站点——反向代理,输入域名后点提交。进入站点配置页面——反向代理——编辑,如下图填写相关的信息即可。这里需要注意的是,1Panel 服务器面板默认支持 `gif|png|jpg|css|js|woff|woff2` 格式的缓存,如需缓存其它文件,还需自行修改配置文件:

{% gallery %}
![](https://cdn.dusays.com/2023/11/643-3.jpg)
{% endgallery %}

## 雷池 Web 应用防火墙

雷池 Web 应用防火墙除可以反代外,还能防御攻击。但本身的特性使得无法缓存数据,即每次访问时都需回源请求数据,故无法实现类似于 CDN 的缓存加速功能。杜老师用其做前置,主要过滤攻击数据,防止无效流量消耗,变相提升了带宽使用率。其防御效果很不错,建议配合其它服务「带有缓存功能」一并使用,如 Nginx Proxy Manager:

{% gallery %}
![](https://cdn.dusays.com/2023/11/643-4.jpg)
{% endgallery %}

## 南墙 Web 应用防火墙

也是机缘巧合接触到了南墙 Web 应用防火墙,精力有限还未与雷池 Web 应用防火墙做对比,但其内置 CDN 缓存功能很好用,并支持多节点回源、定义回源策略等等。需要注意的是,在添加站点时开启 CDN 后,还需进入 CDN 加速页面中,添加缓存规则,默认支持 `jpg|png|bmp|gif|ico|css|js` 格式的缓存:

{% gallery %}
![](https://cdn.dusays.com/2023/11/643-5.jpg)
{% endgallery %}

## DNSPod 免费智能 DNS 解析

DNSPod 专业版支持 10 个负载均衡节点「免费版仅 2 个」TTL 最小值 60 秒,可在单点故障时迅速切换至其它可用节点。并且可以使用更加精细的地域性智能解析:

{% gallery %}
![](https://cdn.dusays.com/2023/11/643-6.jpg)
{% endgallery %}

0 comments on commit bcf98d6

Please sign in to comment.