1.
准备与选型:服务器、VPS与域名基础
- 选择服务器类型:VPS适合中小站点,物理主机适合高性能需求。
- 域名解析:将域名A记录指向源站IP,CNAME指向CDN提供的域名。
- 带宽与流量预算:例如每月峰值带宽1.2Gbps需预留至少1.5倍冗余。
- 操作系统与服务栈:推荐Ubuntu 20.04 + Nginx 1.18 + PHP-FPM 或 Node.js。
- 初始安全:关闭不必要端口,启用SSH密钥登录,配置基础防火墙(ufw/iptables)。
2.
CDN接入流程与缓存策略配置
- 接入步骤:在CDN控制台添加域名,填写源站(IP或域名),配置证书。
- 缓存规则:对静态资源设置长缓存(cache-control: max-age=86400),对HTML设置短缓存或不缓存并开启边缘回源刷新。
- 缓存命中率优化:通过Hash参数、版本号管理静态资源,减少回源请求。
- 回源限流:设置回源请求并发数上限,避免回源雪崩。
- TLS/HTTP2开启:在CDN层启用HTTPS与HTTP/2可以显著降低延迟并提升并发能力。
3.
DDoS防护与WAF实战配置
- 层级防御:使用CDN的边缘清洗(L3/L4)+云WAF(L7)组合。
- 限流规则示例:对同一IP 1分钟内请求数>200触发限速;对登录接口限速为10req/min。
- 黑白名单:对已知恶意IP黑名单,在CDN/防火墙层拦截。
- SYN/UDP攻击防护:启用CDN的状态检测与TCP速率限制。
- 真实案例:某电商促销期间,原站峰值带宽1.2Gbps,经接入CDN后回源带宽下降至200Mbps,页面失败率从3.5%降至0.2%。
4.
监控体系搭建:指标与告警
- 指标采集:采集CPU、内存、磁盘、网络I/O、Nginx QPS/连接数、5xx比例、回源流量、CDN缓存命中率。
- 工具组合:Prometheus + node_exporter + Grafana 可视化,Alertmanager负责告警分发(邮件/钉钉/Slack)。
- 告警规则示例:CPU持续>80% 5分钟;5xx比例>1% 持续1分钟;缓存命中率<60% 10分钟。
- 日志与追踪:集中式日志(ELK/EFK)用于回溯攻击与性能瓶颈;开启请求ID便于链路追踪。
- 自动化响应:当回源错误率上升且流量激增时,自动扩容或启动流量调度脚本降低源站压力。
5.
配置示例与数据展示(演示表格)
- 以下为一个典型源站与CDN运行数据示例,可用于评估接入效果。
- 源站基础配置表格与CDN性能对比如下:
| 项目 | 源站配置/数值 | 接入CDN后 |
| CPU | 4 vCPU | 无变化 |
| 内存 | 8 GB | 无变化 |
| 磁盘 | 80 GB SSD | 无变化 |
| 峰值带宽 | 1.2 Gbps | 回源降至200 Mbps |
| 缓存命中率 | N/A | 92% |
| 5xx 错误率 | 3.5% | 0.2% |
- Nginx简短配置建议:在location静态区使用expires 30d; add_header Cache-Control "public"; 并配合CDN缓存键设置。
- 小结:通过合理选型、CDN缓存策略与监控告警,新手也能在短期内把网站的性能与安全做到位。