前言
马上要开年工作了,目测以后折腾时间会有所缩减,本年度立的flag
也是打算给大家分享点干货
,就抽个时间把网盘做出来了。
前期测试了nextcloud、owncloud、Seafile、可道云等等。
从安全性、可用性、稳定性、兼容性各方面考量,最终选择了Seafile
。
Seafile介绍与优缺点
Seafile 是一款开源的企业云盘,注重可靠性和性能。支持 Windows, Mac, Linux, iOS, Android 平台。支持文件同步或者直接挂载到本地访问。
优点
据说是清华的人搞的,也很多年了,比较成熟,用户评价也相对较好。
支持加密保存
,也就是就算服务器被黑
也读取不了数据。
ssl
支持较好,少有的国产良心私有云软件。
如官方介绍客户端比较全,适合我等跨平台设备比较多的用户。
专业免费版本支持3
个用户,对于我个人来讲完全够用。
缺点
Django
开发的,逼格较高,同时入门门槛也比较高。
如果要完美调优需要大量的时间去折腾,而很多小白用户很难正常使用。
部署
思路
不更改默认端口,采用宿机的nginx做透明代理,并共享443端口。
安装docker
|
|
- 卸载旧的版本。
|
|
- 安装相关支持软件。
|
|
- 添加 Docker’s GPG key
|
|
- 验证 Docker’s GPG key
|
|
- 添加源 并安装Docker。
注册帐号
访问地址:https://customer.seafile.com
,注册一个用户。
登录专业版镜像
|
|
- 输入在注册帐号里面获取到的
Seafile
帐号与密码。
添加ssl证书
|
|
- 并将ssl证书放入此目录,格式为cloud.icekam.key and .crt。
拉取环境并启动
|
|
- 注意,这里并不需要映射端口,如果映射会出现以下错误。
Forbidden (403)
CSRF verification failed. Request aborted.
修改本地host
|
|
- 将你设置的域名绑定为获取到的 Docker 的ip。
nginx反向代理
添加一个host配置文件,直接反代,配置文件参考如下:
location / {
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass https://cloud.icekam.com;
}
- 请注意nginx也需要配置ssl。
已知问题
以上配置可以正常使用,但是会出现获取不到用户真实ip的问题,这个问题待解决。
总结
本文解决了官方的已知Bug,即Docker下部署更改默认ip会出现Csrf报错的问题。
本人搜遍整个互联网也没人给出一个解决方案,官方也确认这是一个已知的问题,但是因为其他原因未修复。
最终折腾了挺长时间,采用曲线的方式解决了这个问题。