By:2019年10月22日

最近使用了CloudReve搭建了一个云端网盘,连接了一下外部服务器,发现问题还蛮多的。

注意:仅供解决连接外部服务器问题。适用于前后端分离场景。

HTTP错误

  • Nginx中网站的伪静态没有配置好,应当在location /中插入以下代码。
location / {
        if ($request_method = 'OPTIONS') { 
add_header Access-Control-Allow-Origin *; 
add_header Access-Control-Allow-Methods GET,POST,PUT,DELETE,OPTIONS;
#其他头部信息配置,省略...
return 204; 
}
add_header Access-Control-Allow-Origin *;
}
  • 插入了之后,还是有几率触发HTTP错误

目前无解,暂时没时间研究原因,这种情况下刷新页面就好。

401:文件转移失败/文件过大

  • 准备三个大小的文件,测试一下,分别为1MB/6MB/20MB

如果1MB的文件可以上传成功,而6-20MB都无法上传
则将上传服务器中的Upload.php中的所有4194304修改为10485760(10*1024*1024)
大概原因是上传服务器的文件很久没更新了
而本地服务器中配置文件已经更新成了10*1024*1024
(application/config.php /Upload.Chunk_Size=>10*1024*1024)
而上传服务器中的Upload仅为(4*1024*1024).

CloudReve疑难解答
在修改之后,已经可以传输大文件了

上面修改完之后,你应该可以传输4MB以下,10MB以上的文件了,4-10MB目前还没有解决,解决会在此列出。

其他注意事项

远程服务器需要对齐Token。
请在上传策略中修改上传大小的限制。
目前上传文件中如果带有"版""本"等字符时会报错,请尽量上传英文文件(诡异)。
报错后请多刷新页面试试看,大部分问题都可以刷新解决。

测试页面


Per Aspera Ad Astra