Typecho+阿里云CDN完整配置:防止DDoS攻击与IP暴露

发布于:2025-07-21 ⋅ 阅读:(17) ⋅ 点赞:(0)

Typecho使用阿里云CDN保护网站真实IP地址的完整指南

在这里插入图片描述

🌐 我的个人网站:乐乐主题创作室

背景与问题分析

在互联网环境中,网站直接暴露真实服务器IP地址会带来多种安全隐患,包括但不限于:

  1. DDoS攻击风险:攻击者可以直接针对源站IP发起流量攻击
  2. 扫描探测风险:黑客会定期扫描互联网IP段寻找漏洞
  3. 源站定位风险:一旦CDN被绕过,服务器将直接暴露

对于使用Typecho这类PHP博客系统的站长来说,保护源站IP尤为重要,因为PHP应用通常部署在性能有限的服务器上,难以承受大规模攻击。

技术选型与方案设计

阿里云CDN作为国内领先的内容分发网络服务,提供了完善的源站保护方案。我们将采用以下架构:

用户请求 -> 阿里云CDN边缘节点 -> (仅限CDN回源IP段访问) -> Typecho源站

关键实现要点:

  1. CDN基础配置:域名解析、缓存策略设置
  2. 源站防护:通过防火墙限制仅CDN回源IP可访问
  3. Typecho特殊处理:适应CDN环境下的配置调整

详细实施步骤

第一步:阿里云CDN基础配置

  1. 登录阿里云控制台,进入CDN服务
  2. 添加加速域名,选择"图片小文件"场景(适合博客)
  3. 在"回源配置"中设置源站信息:
# 推荐使用源站域名而非IP,这样即使IP变更也不影响
origin.example.com 源站域名
80 回源端口
  1. 配置缓存策略(建议配置):
/* 全部文件 - 缓存30天
.php 动态文件 - 缓存0秒
/wp-admin/* 后台路径 - 缓存0秒

第二步:DNS解析设置

将您的博客域名解析从A记录(指向IP)改为CNAME记录,指向阿里云提供的CDN域名:

记录类型: CNAME
主机记录: @ 或 www
记录值: example.com.w.kunlunsl.com
TTL: 600

第三步:源站服务器防护配置

Nginx服务器配置
# 只允许阿里云CDN回源IP段访问
location / {
    allow 47.99.0.0/16;
    allow 47.98.0.0/16;
    allow 120.55.0.0/16;
    # 其他阿里云CDNIP段...参考阿里云官方文档更新
    deny all;
    
    # Typecho原始配置
    if (!-e $request_filename) {
        rewrite ^(.*)$ /index.php$1 last;
    }
}
防火墙配置(以Ubuntu为例)
# 清空现有规则
sudo iptables -F

# 允许SSH等必要端口
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT

# 允许阿里云CDN回源IP访问80端口
sudo iptables -A INPUT -p tcp --dport 80 -s 47.99.0.0/16 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 80 -s 47.98.0.0/16 -j ACCEPT

# 拒绝其他所有HTTP访问
sudo iptables -A INPUT -p tcp --dport 80 -j DROP

# 保存规则
sudo iptables-save > /etc/iptables.rules

第四步:Typecho配置调整

修改Typecho的config.inc.php文件:

/** 识别CDN的