首页/aliyun服务器代维/一次 CDN 源站流量暴增的问题分析
aliyun服务器代维

一次 CDN 源站流量暴增的问题分析

上周经历了一次 CDN 源站流量暴增的问题,原因是有 CDN 有一批文件过期,大量回源。

CDN 回源过程:

1. 第一次回源,如果源站返回 Last-Modified 头,CDN 会记录下来;

2. CDN 的文件过期后,如果源站之前已经返回了 Last-Modified 头,就以 If-Modified-Since 头(内容是 源站返回的Last-Modified 值) 来访问源站,如果文件未变更,则返回 304;如果之前源站没返回  Last-Modified 头,则会下载整个文件,源站返回 200。

流量暴增的问题就出现在源站不返回 Last-Modified 头上,解决方法是源站返回 Last-Modified 头。

但是需要注意几点,先看看源站前面的 Nginx 配置文件:

location ~ /(?<name>.+?)/.* {
expires 100d;

rewrite ^/.+?/(.*)$ /$1 break;

proxy_cache m_wdjcdn_com;
proxy_cache_key “$request_uri”;
proxy_cache_valid 200 30d;

proxy_set_header Host $name.cdn.xxxx.com;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

proxy_pass http://new-source-nodes;
}

 

1. 如果源站文件放在本地硬盘(使用 root 指令) 而不是通过 proxy_pass 打到后端,就不会出现这个问题,因为 Nginx 对静态文件完全支持 Last-Modified 和 If-Modified-Since 语义;

2. 如果没有 proxy_cache 指令,即使源站返回 Last-Modified,也不会有 304,因为 Nginx 不会把头保存下来,而当有文件 cache 到本地硬盘上时,则会保存,所以可以返回 304;

3. Nginx 有一个指令 if_modified_since,默认是 exact,表示 If-Modified-Since 头的值必须和上次获取的 Last-Modified 值一致,否则还会 200;可以把 if_modified_since 改成 before,表示 If-Modified-Since 值可以比 Last-Modified 值大,也就是更新。

 

http://nginx.org/en/docs/http/ngx_http_core_module.html 

SERVICE

相关服务与公开报价

以下为三家云市场官方店铺的在售商品,价格取自平台页面、可核验。 点击直达商品页,由平台完成下单与交付。

按本文主题推荐的云市场在售服务与公开报价
商品图 服务 / 商品 云市场 公开报价 操作
Linux网站环境配置(协助备案) Linux网站环境配置(协助备案) 阿里云 ¥400 去商品页
Linux/windows软件环境配置 Linux/windows软件环境配置 阿里云 ¥400 去商品页
云服务器代维服务(Windows/Linux) 云服务器代维服务(Windows/Linux) 阿里云 ¥2400 去商品页
针对CentOS 7 8系统迁移服务 针对CentOS 7 8系统迁移服务 腾讯云 ¥500 / 次 去商品页
linux、windows、vps云服务器网站代维护服务 linux、windows、vps云服务器网站代维护服务 腾讯云 ¥100 / 日 去商品页
Discuz! X3.5 集成最新2024-4月安全补丁(AlmaLinux) Discuz! X3.5 集成最新2024-4月安全补丁(AlmaLinux) 腾讯云 ¥0 / 小时 去商品页
磁盘扩容 · 数据盘分区挂载(Linux / Windows) 磁盘扩容 · 数据盘分区挂载(Linux / Windows) 华为云 ¥200 / 次 去商品页
BT 宝塔 Linux 面板安装服务 BT 宝塔 Linux 面板安装服务 华为云 ¥100 / 次 去商品页
网站搬家 · 虚拟主机空间搬家 · 网站上云 · 网站迁移 网站搬家 · 虚拟主机空间搬家 · 网站上云 · 网站迁移 华为云 ¥500 / 次 去商品页
FREE CHECKUP

先做一次免费服务器体检

我们会在 1 个工作日内给出问题清单与处置建议 —— 做不做代维都没关系。

135 410 16684
工作日 Mon – Fri 10:00 – 22:00 · 紧急故障 7×24 响应
立即拨打
CONTACT

在线留言

有什么可以帮您?

带 * 为必填