进阶 docs.cloudreve.org 2026-10-17 18:46:57 · 20 阅读

第12章 远程节点存储与原生缩略图配置指南

从机节点存储 ​通过从机节点存储策略,文件会存储在其他同样运行 Cloudreve 的服务器上。配置 ​添加从机节点 ​参考「从机节点」章节,将存储服务器添加为从机节点。作为存储策略使用时,从机节点的 endpoint 会暴露给客户端用于上传文件,请确保该地址用户可以访问。

你还需要为从机节点配置 CORS 策略,否则用户无法通过浏览器直接上传或预览文件。请在从机的配置文件中添加以下内容:ini[CORS] AllowOrigins = * AllowMethods = OPTIONS,GET,POST AllowHeaders = *文件存储路径 ​你可以在存储策略配置中修改 Blob 存储目录,以指定文件的存储路径。默认情况下,新建的本地存储策略会使用从机节点上 Cloudreve 可执行文件所在目录下的 data/uploads 目录,可按需修改。如果填写相对路径,则相对于从机节点上 Cloudreve 可执行文件所在目录。

TIP

如果在从机节点的 Cloudreve 命令行参数中指定了 --use-working-dir,则 Blob 存储目录的相对路径将相对于启动时的工作目录。

预分配磁盘空间 ​在 Linux 或 macOS 上,启用「预分配磁盘空间」选项后,Cloudreve 会在上传开始时预先分配磁盘空间,减少分块上传造成的磁盘碎片。

原生缩略图 ​本节介绍原生缩略图的生成方式。如果你已为存储策略启用了缩略图代理,本节内容不适用。

缩略图缓存 ​从机节点原生生成的缩略图会以 <原 Blob 文件名>._thumb_sidecar 的命名,存放在原 Blob 文件所在目录中。该缓存不计入用户容量,对用户不可见。当原 Blob 被删除时,缩略图缓存也会一并删除。

扩展生成器 ​默认情况下,从机 Cloudreve 只能为 jpg、png、gif 及歌曲封面生成原生缩略图。与主节点类似,你可以借助外部工具扩展缩略图生成能力。修改从机配置文件,并通过「从机节点配置覆盖」启用:ini[OptionOverwrite] # Thumbnail width and height thumb_width = "400" thumb_height = "300" thumb_slave_sidecar_suffix = "._thumb_sidecar" # Thumbnail cache file suffix thumb_encode_method = "png" # Encoding format thumb_gc_after_gen = "0" # Immediately recycle memory after generation thumb_encode_quality = "95" # Quality

# Built-in generator thumb_builtin_enabled = "1" thumb_builtin_max_size = "78643200"

# VIPS thumb_vips_max_size = "78643200" thumb_vips_enabled = "1" thumb_vips_exts = "3fr,ari,arw,bay,braw,crw,cr2,cr3,cap,data,dcs,dcr,dng,drf,eip,erf,fff,gpr,iiq,k25,kdc,mdc,mef,mos,mrw,nef,nrw,obm,orf,pef,ptx,pxn,r3d,raf,raw,rwl,rw2,rwz,sr2,srf,srw,tif,x3f,csv,mat,img,hdr,pbm,pgm,ppm,pfm,pnm,svg,svgz,j2k,jp2,jpt,j2c,jpc,gif,png,jpg,jpeg,jpe,webp,tif,tiff,fits,fit,fts,exr,jxl,pdf,heic,heif,avif,svs,vms,vmu,ndpi,scn,mrxs,svslide,bif,raw" thumb_vips_path = "vips"

# FFMpeg thumb_ffmpeg_enabled = "1" thumb_ffmpeg_path = "ffmpeg" thumb_ffmpeg_max_size = "10737418240" thumb_ffmpeg_exts = "3g2,3gp,asf,asx,avi,divx,flv,m2ts,m2v,m4v,mkv,mov,mp4,mpeg,mpg,mts,mxf,ogv,rm,swf,webm,wmv" thumb_ffmpeg_seek = "00:00:01.00"

## LibreOffice thumb_libreoffice_enabled = "1" thumb_libreoffice_path = "soffice" thumb_libreoffice_max_size = "78643200" # 75 MB thumb_libreoffice_exts = "txt,pdf,md,ods,ots,fods,uos,xlsx,xml,xls,xlt,dif,dbf,html,slk,csv,xlsm,docx,dotx,doc,dot,rtf,xlsm,xlst,xls,xlw,xlc,xlt,pptx,ppsx,potx,pomx,ppt,pps,ppm,pot,pom"

# Song covers thumb_music_cover_enabled = "1" thumb_music_cover_exts = "mp3,m4a,ogg,flac" thumb_music_cover_max_size = "1073741824" # 1 GB

保存并重启从机 Cloudreve,最后在「存储策略设置 -> 缩略图 -> 原生缩略图文件扩展名」中添加新支持的文件扩展名。

原生媒体元数据提取 ​本节介绍原生的媒体元数据提取。如果你已为存储策略启用了媒体元数据提取代理,本节内容不适用。

默认情况下,从机 Cloudreve 可以原生提取图片 EXIF 和音频元数据。如需扩展其他提取器,在安装好相关依赖后,修改从机配置文件,并通过「从机节点配置覆盖」启用:ini[OptionOverwrite] media_meta_ffprobe = "1" media_meta_ffprobe_path = "ffprobe" media_meta_ffprobe_size_local = "0" media_meta_ffprobe_size_remote = "0"

保存并重启从机 Cloudreve,最后在「存储策略设置 -> 提取媒体元数据 -> 原生提取器启用的文件扩展名」中添加新支持的文件扩展名。

FAQ ​文件上传失败,报错 "Cannot parse response"。

展开详细错误信息,检查其中是否包含 413 Request Entity Too Large。

如果有,请修改从机的 Nginx 反向代理配置,设置或调大 client_max_body_size 的值,例如 client_max_body_size 20000m;。如果启用了分块上传,该值应大于分块大小;如果未启用分块上传,该值应大于上传文件的大小。

检查从机是否部署了外部 WAF 防火墙拦截了上传请求。

确保节点配置中填写的从机地址可以被用户直接访问。

文件无法下载,缩略图也无法显示。

检查从机节点的系统时间与客户端时间是否相差较大。如果是,请先同步时间,然后在「设置」的 Filesystem 页面底部点击 Clear Blob URL Cache 按钮后重新尝试下载。

如果使用了 Cloudflare,请检查 Cache Level 是否设置为 Standard。

使用 Cloudflare 时,超过 100MB 的文件无法上传。

Cloudflare 免费套餐默认将单次上传请求的大小限制为 100MB。你可以为存储策略开启分块上传来绕过该限制,分块大小需小于 100MB。

评论 (0)