搭建下载站的遗留问题

Nicky 26 0
摘要:

使用Zdir搭建下载站,之前一直不能正常下载,在AI的帮助下终于处理好了。

之前想着搭建一个下载站,最开始用的是一些index跟index的美化程序等等,发现其实基于下载还是有很多东西可以做的。于是改用了Zdir这个程序,但是也遇到了一些困难。

我根据Zdir作者的建议跟各种AI的建议,已经处理好了。以下是AI的总结。

Zdir 下载站架构与配置总结

你的架构目标是利用腾讯云 EdgeOne 加速 Web 界面,同时将大文件下载流量分流至境外主机直连。
1. 架构概览
组件 域名/IP 作用 流量处理
源服务器 50.50.50.50 托管 Zdir 程序和文件 承担所有下载流量(10TB/月)
Web 界面 soft.nicky1605.com Zdir 浏览前端 接入 EdgeOne CDN(免费 50GB/月)
下载链接 down.nicky1605.com 实际下载域名 DNS 直连源站,绕过 EdgeOne
2. Zdir 配置 (config.toml)
这是解决 404 问题的关键步骤。确保 Zdir 生成的链接包含?/public 路径。
修改?/opt/zdir/data/config/config.toml
[storages]
private_domain = 'down.nicky1605.com'
public_domain = 'down.nicky1605.com/public' # <-- 关键修改点
# ... 其他配置不变

操作:修改后,务必重启 Zdir 服务使配置生效。

systemctl restart zdir
3. Nginx 配置 (soft.nicky1605.com.conf)
Nginx 负责反向代理、SSL 卸载和防盗链。
修改 nginx配置文件:
server {
    # ... 80 端口跳转 443 配置 ...
}

server {
    listen 443 ssl http2;
    server_name soft.nicky1605.com down.nicky1605.com;
    # ... SSL 证书配置 ...

    # 1. 核心规则:所有Zdir功能路径(包括 public, private, api, dav)转发后端
    location ~* /(assets|api|public|private|dav) {
        client_max_body_size 10G;
        proxy_pass http://127.0.0.1:6080;
        proxy_set_header Host $host;
        # ... 其他 proxy_set_header 配置 ...
        proxy_connect_timeout 600s;
        proxy_read_timeout 600s;
        proxy_send_timeout 600s;
    }

    # 2. 增强防盗链规则 (针对压缩包、图片、视频等)
    location ~* \.(gif|jpg|jpeg|png|bmp|webp|swf|flv|mp4|ico|zip|rar|7z|iso|tar|gz|bz2|xz|exe|dmg|pkg)$ {
        # 只允许自己的域名、直连访问 (none blocked) 或特定博客跳转
        valid_referers none blocked nicky1605.com *.nicky1605.com;
        if ($invalid_referer) {
            return 403;
        }
        proxy_pass http://127.0.0.1:6080;
        # ... 其他 proxy 配置 ...
    }
    
    # 3. 首页及其他所有未匹配到的请求(万能兜底转发)
    location / {
        proxy_pass http://127.0.0.1:6080;
        # ... 其他 proxy 配置 ...
    }
}
4. DNS 配置 (DNSPod)
确保流量正确分流:
  • soft.nicky1605.com:解析类型为 CNAME,指向 EdgeOne 提供的加速域名。
  • down.nicky1605.com:解析类型为 A 记录,指向你的源服务器 IP?50.50.50.50不要开启 CDN/代理
5. EdgeOne 配置 (规则引擎)
为?soft.nicky1605.com 配置精细的缓存规则:
优先级 匹配条件 行为 (操作)
1 (最高) URL 路径?包含?/api?或?/dav 节点缓存:?不缓存
2 文件后缀等于?php, jsp... 节点缓存:?不缓存
3 HOST=soft.nicky1605.com?(兜底规则) 节点缓存:?不缓存?(推荐)
4 文件后缀等于图片格式 (.jpg, .png...) 浏览器缓存:?1 小时
操作:配置完成后,务必在?「工具集」 -> 「清除缓存」?中刷新?soft.nicky1605.com 的 URL 缓存。

发表评论 取消回复
表情 图片 链接 代码

分享