因为aria2-pro和cloudreve部署的时间不一致,又不想重新安装丢失数据,所以采用的形式是Aria2-Pro使用docker部署,Cloudreve直接部署在服务器上,以下是过程中踩过的坑。
Aria2-Pro项目网址:https://github.com/P3TERX/Aria2-Pro-Docker
cloudreve项目网址:https://cloudreve.org
1.aria2-pro使用docker部署?
- 端口映射:6800:6800 6888:6888
- 目录映射:默认配置文件目录/config、下载目录/downloads映射至本地服务器目录
- 启动docker
2.aria2如何配置SSL访问?
-
AriaNG网址开启SSL证书
-
网站配置文件中加入如下代码:
location /jsonrpc { proxy_pass http://localhost:6800/jsonrpc; proxy_redirect http:// https://; proxy_set_header Host $host:443; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection upgrade; proxy_set_header Accept-Encoding gzip;
}
-
AriaNG设置中地址填写页面网址,端口443,协议https,填好RPC密钥
-
至此可连接成功
3.cloudreve离线下载节点设置
这里的地址可以填上面的WebUI地址,也可以填127.0.0.1:6800
测试连通性成功。
问题来了
cloudreve离线下载目录只可以填写aria2设置的下载路径/downloads,填其他路径就会报错,但如果填了/downloads的话,下载任务是可以提交到到aria2,也可以成功下载,但cloudreve在下载完毕的最后一步是移动文件,因为之前填的文件路径是/download,cloudreve把他视为绝对路径,但服务器根目录并没有,所以还是会报错。Failed to transfer one or more file(s).如图:
解决方法
问题有了,想解决方法,(技术不行咱还不能曲线救国嘛)要是aria2下载完毕了下载目录映射到本地服务器根目录的/downloads是不是就可以了?那cloudreve在最后一步移动文件的时候是不是就可以找到?
该部分仅登录用户可见
如图:
图上的configs默认为config。至此,aria2和cloudreve都配置完毕。