宝塔面板Cloudreve 大文件下载失败

一、添加站点反向代理设置

目标 URL: http://127.0.0.1:5212 发送域名: $host

点击展开:反向代理设置说明

在宝塔面板中为 Cloudreve 添加反向代理:

  • 目标 URL 填写:http://127.0.0.1:5212
  • 发送域名填写:$host

此配置确保 Cloudreve 能正确识别访问域名。

二、编辑站点反代配置(重点)

点击展开:站点反代配置

将下列配置添加到 宝塔 → 网站 → 设置 → 配置文件

location ^~ / {
    proxy_buffering off;
    proxy_cache off;

    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $http_host;
    proxy_redirect off;

    proxy_pass http://127.0.0.1:5212;

    # 重要:放开大文件下载限制
    client_max_body_size 200000m;
}

:sparkles: 说明:

  • proxy_buffering off → 避免大文件被缓存导致中断
  • client_max_body_size → 必须放开,否则大文件下载 / 上传必失败
  • Cloudreve 使用直链,需要完整禁用缓存

三、编辑 Nginx 全局反代配置

点击展开:编辑 /www/server/nginx/conf/proxy.conf

打开文件:

/www/server/nginx/conf/proxy.conf

修改为:

proxy_temp_path /www/server/nginx/proxy_temp_dir;
proxy_cache_path /www/server/nginx/proxy_cache_dir/ levels=1:2 keys_zone=cache_one:2m inactive=1d max_size=1g;

client_body_buffer_size 2048k;

proxy_connect_timeout 60;
proxy_read_timeout 60;
proxy_send_timeout 60;

proxy_buffer_size 32k;
proxy_buffers 4 64k;
proxy_busy_buffers_size 128k;
proxy_temp_file_write_size 128k;

proxy_next_upstream error timeout invalid_header http_500 http_503 http_404;

#proxy_cache cache_one;

:sparkles: 说明:

  • 增加 Nginx 超时时间,避免大文件下载中断
  • 增加缓存目录(虽然 Cloudreve 不使用,但避免 Nginx 报错)
  • 调整 buffer,减少超大文件导致 502