1.
准备与选购:选择合适的台湾CN2 VPS
(1) 选择提供CN2 GIA或CN2线路的供应商:确认线路为CN2而非普通回程;推荐询问客服确认到大陆的BGP路由类型。 (2) 规格选择:至少1核2GB内存、20GB SSD起步;带宽视流量选择10~100Mbps或包月峰值带宽。 (3) 获取固定公网IP并确认可绑定域名与反向解析。 (4) 记录登录信息(root/SSH key)、控制面板的重装与快照功能。
2.
准备操作系统与基础环境
(1) 推荐系统:Debian 11 / Ubuntu 20.04 LTS。 (2) 登录:ssh root@IP,若用密钥则 chmod 600 key.pem && ssh -i key.pem root@IP。 (3) 基础更新:apt update && apt upgrade -y。 (4) 创建普通用户并禁止root直接登录:adduser deploy && usermod -aG sudo deploy,修改 /etc/ssh/sshd_config PermitRootLogin no,重启 sshd。
3.
安装并配置NGINX作为源站(Origin)
(1) 安装:apt install nginx -y。 (2) 开放防火墙端口:ufw allow 80 && ufw allow 443 && ufw enable。 (3) 配置虚拟主机:在 /etc/nginx/sites-available/your.conf 写入 server_name your.domain; root /var/www/html; index index.html index.php; 并设置 client_max_body_size 100M。 (4) 验证并重启:nginx -t && systemctl reload nginx。
4.
安装Let's Encrypt证书并配置HTTPS
(1) 安装certbot:apt install certbot python3-certbot-nginx -y。 (2) 获取证书:certbot --nginx -d your.domain --agree-tos -m you@domain --redirect。 (3) 自动续期:systemctl status certbot.timer,或加入 crontab: 0 3 * * * certbot renew --quiet。 (4) 在NGINX确认 ssl_protocols TLSv1.2 TLSv1.3 和推荐的 ciphers。
5.
为CDN优化源站配置(头部与缓存)
(1) 设置缓存控制:在NGINX添加 location ~* \.(css|js|jpg|png|gif|svg|webp)$ { expires 30d; add_header Cache-Control "public, max-age=2592000"; }。 (2) 打开压缩:gzip on; gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript; (3) 可选启用Brotli(安装模块或使用nginx-brotli),比gzip更优。
6.
设置真实客户端IP头与防火墙规则
(1) 当CDN反向代理时,需在NGINX中保留真实IP:set_real_ip_from CDN边缘IP段; real_ip_header X-Forwarded-For; real_ip_recursive on; (2) 只允许CDN回源IP访问源站的管理端口,通过 iptables 或 ufw 限制:ufw allow from
to any port 80,443; (3) 继续禁止直接访问敏感目录。
7.
选择并配置CDN:拉取型(Pull)与CNAME策略
(1) 选择CDN提供商:Cloudflare、阿里云CDN、腾讯云、BunnyCDN、Fastly、CloudFront 等,依据覆盖点(Asia/US/EU)与价格选择。 (2) 在CDN平台创建“加速域名/拉取域名”,Origin设置为 your.domain 或源站IP(优先使用域名以支持证书校验)。 (3) 使用CNAME接入:将 your.domain 的CNAME指向CDN分配的域名;若要裸域使用A记录+CDN的Anycast IP或开启CNAME Flattening。
8.
配置CDN缓存规则与缓存键
(1) 静态资源设置长缓存,设置缓存TTL、忽略Query String(或仅按需保留)。 (2) 动态请求(API、登录)设置不缓存或短TTL,并通过路径匹配 bypass cache。 (3) 配置缓存键包括协议、主机、路径、查询字符串规则,避免缓存雪崩和错缓存。
9.
开启协议优化:HTTP/2、HTTP/3、QUIC 和边缘压缩
(1) 在CDN控制台开启HTTP/2与HTTP/3 (QUIC)以减少延迟和加速TLS握手。 (2) 在NGINX配置 keepalive_timeout 与 sendfile on; tcp_nopush on; tcp_nodelay on; (3) 若支持,在CDN启用边缘压缩与图像优化(WebP、自动压缩)以减小传输体积。
10.
安全与WAF、速率限制设置
(1) 在CDN端开启WAF并导入常见规则,阻挡SQL注入与XSS攻击。 (2) 启用DDoS防护与速率限制策略(如同一IP的请求阈值)。 (3) 源站也可设置 fail2ban 或 mod_security 增强防护。
11.
部署多源与负载均衡(可选提升稳定性)
(1) 若要求高可用,准备第二个或多个源站(例如香港或新加坡VPS)并在CDN配置多Origin与健康检查。 (2) 配置负载均衡策略(轮询、最少连接、按地域)和自动故障转移。 (3) 定期创建快照与备份数据库与文件。
12.
DNS配置细节与TTL调优
(1) 将域名解析到CDN提供的CNAME或Anycast IP;若使用Cloudflare将Name Server替换成Cloudflare。 (2) 将DNS TTL设为短值(例如300秒)便于切换,但正式稳定后可调高以减少查询延迟。 (3) 在变更期间使用低TTL并提前通知。
13.
测试与监控:验证全球节点与路由
(1) 路由测试:从不同地区运行 traceroute your.domain 或 mtr -r -c 10 your.domain。 (2) 性能测试:使用WebPageTest、GTmetrix、Pingdom、多地域curl -IL your.domain 检查响应头 X-Cache, Via。 (3) 在CDN监控面板查看命中率、带宽、边缘延迟并记录基线数据。
14.
性能调优:提高缓存命中率与减少回源
(1) 增加静态资源命名策略(包含版本号),使静态资源长期缓存且不用回源。 (2) 启用Edge Cache TTL、Origin Shield(若有)来降低源站压力。 (3) 优化图片与静态资源体积,合并与懒加载减少请求数。
15.
运维与故障排查常用命令与日志位置
(1) 检查NGINX错误日志:tail -f /var/log/nginx/error.log。 (2) 检查访问日志:tail -f /var/log/nginx/access.log 并观察 X-Forwarded-For。 (3) 网络测试:ping, traceroute, mtr, ss -tunlp 查看连接,sudo ufw status 检查防火墙。
16.
示例NGINX配置片段(关键项)
(1) 在 server 块中加入:proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; (2) 静态缓存示例同第5段,确保HTTPS重定向与证书生效。 (3) 保存后 nginx -t && systemctl reload nginx。
17.
部署后的持续优化建议
(1) 每周检查CDN命中率并调整缓存规则。 (2) 监控边缘错误码(4xx/5xx),找出回源原因并修正。 (3) 定期更新系统与证书,优化TCP参数 sysctl(如 net.ipv4.tcp_tw_reuse=1)在大流量场景下有帮助。
18.
问:为什么选择台湾CN2 VPS作为源站有利于大陆用户访问?
答:台湾CN2 VPS通常到中国大陆走CN2 GIA或CN2线路,具备更稳定的BGP路径和更低抖动,能显著降低大陆到源站的网络延迟。配合CDN后,静态内容由边缘节点就近响应,动态回源走CN2可保持更好体验。
19.
问:如何确保CDN和源站的HTTPS证书匹配与安全?
答:在源站使用Let's Encrypt或自签证书并在CDN选择“Full(严格)”模式,要求CDN验证源站证书;同时在CDN端启用Edge SSL(由CDN签发或上传自有证书),并强制TLS1.2/1.3以确保端到端加密。
20.
问:常见导致回源慢或回源失败的原因及排查方法?
答:常见原因包括源站防火墙阻止CDN IP、证书校验失败、缓存配置错误导致频繁回源、源站性能不足。排查方法:查看NGINX日志、确认CDN回源IP已放行、用curl模拟CDN回源请求(curl -I -H "Host: your.domain" http://源站IP),并根据错误码调整。
来源:如何结合台湾vps cn2与CDN实现全球用户加速访问体验