一、 核心架构图
[用户访问] ---(HTTPS/CDN节点)---> [阿里云 CDN] ---(回源)---> [宝塔 Nginx 服务器] ---(内网/公网)---> [绿联云 NAS (5005端口)]
二、 第一阶段:宝塔服务器配置 (中转站)
宝塔服务器作为"源站",负责接收 CDN 的请求并将其转发给家庭 NAS。
-
域名与 IP 绑定:
- 在【站点管理】->【域名管理】中,同时绑定你的业务域名(如
nas.xxxxxx.com)和服务器公网 IP。
- 在【站点管理】->【域名管理】中,同时绑定你的业务域名(如
-
反向代理设置:
- 添加反向代理,目标 URL 为你的 NAS 访问地址(
http://NAS_IP:5005)。
- 添加反向代理,目标 URL 为你的 NAS 访问地址(
-
配置文件优化 (关键):
-
必须使用
rewrite指令精准剔除 API 路径前缀,确保 NAS 收到的是纯净的文件路径。 -
核心配置代码:
Nginx
location ^~ /api/file/ { # 自动剔除前缀并兼容可能存在的 volume1 路径 rewrite ^/api/file/(?:volume1/)?(.*)$ /$1 break; proxy_pass http://183.xx.xx.xxx:5005; proxy_set_header Host nas.xxxxx.com; # 强制回源Host proxy_set_header X-Real-IP $remote_addr; proxy_buffering off; # 实时传输图片,减少服务器压力 }
-
三、 第二阶段:阿里云 CDN 配置 (加速层)
CDN 负责在全国边缘节点缓存图片,实现"秒开"体验。
-
添加域名:
- 在阿里云 CDN 控制台添加加速域名,选择"图片小文件"加速类型。
-
回源设置:
-
回源地址:填写你的宝塔服务器 IP(120.xx.xx.xx)。
-
回源 HOST :务必设置为你的域名
nas.xxxxx.com,否则 Nginx 可能匹配失败。
-
-
缓存规则 (性能核心):
-
目录缓存 :设置
/api/目录缓存时间为 1个月。 -
后缀缓存 :设置
jpg, png, webp, jpeg等静态资源缓存 1个月。
-
-
HTTPS 配置:
- 在 CDN 侧上传 SSL 证书,开启 HTTP/2 提升传输效率。
四、 第三阶段:运维与安全 (长治久安)
-
验证加速效果:
-
使用浏览器 F12 查看响应头,若看到
X-Cache: HIT,说明命中缓存,加速成功。 -
使用 ITDOG 等工具对比,全国平均响应时间应从 8-10s 降至 0.5s 以内。
-
-
缓存刷新:
- 若 NAS 上的图片更新了但域名访问还是旧图,需在 CDN 控制台使用【刷新预热】功能,提交完整的图片 URL。
-
安全防护 (建议开启):
-
防盗链 (Referer):防止其他网站通过你的 CDN 链接偷取流量。
-
带宽封顶:在【用量查询】设置带宽上限,防止异常大流量产生高额费用。
-
五、 常见问题排除排查表
| 现象 | 可能原因 | 解决方法 |
|---|---|---|
| 访问 404 | Nginx 路径重写错误或 NAS 无此文件 | 检查 rewrite 规则,确保 NAS 能识别转发后的路径 |
| 访问 504 | 宝塔到 NAS 的网络超时或 NAS 离线 | 检查 NAS 公网连接,增加 Nginx 的 proxy_read_timeout |
| IP 能开域名不能开 | CDN 缓存了之前的错误响应 | 在阿里云控制台执行【URL 刷新】清除错误缓存 |