1. 介绍
现在服务器都是https协议了,而默认项安装的Cloudreve没有开启https。这里介绍下如何配置https
开始之前,https的证书和签名申请这里就不做介绍了。大家都已经得到了cert文件和key文件的前提条件下。
(上篇公众号,介绍了如何配置和搭建我们自己的Cloudreve服务器。这篇主要介绍https的配置)
2. 配置https
有两种方式可以实现1.采用cloudreve自己内置的web服务器配置的https签名证书开启https。
2.可以采用nginx反向代理配置https。
两种方法都可以,而大家常见的情况是配置nginx比较多。
2.1 nginx 配置https
基于Nginx 1.22.0 版本进行的介绍。(其他版本大家结合实际情况,进行参考哦)
在/etc/nginx/conf.d
文件夹中创建一个cloudreve.conf
配置文件。
[root@iZuf63tu3fn1swasqa62h8Z ~]# vim /etc/nginx/conf.d/cloudreve.conf
然后在打开的文件中配置如下:
代码语言:javascript复制server {
listen 80;
server_tokens off;
server_name 你自己的访问域名地址;
# 重定向,将http请求改为https请求
return 301 https://$server_name$request_uri;
client_max_body_size 20000m;
}
server {
listen 443 ssl;
server_tokens off;
ssl_protocols TLSv1.2 TLSv1.3;
keepalive_timeout 300;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
ssl_certificate 你的SSL证书文件.pem;
ssl_certificate_key 你的SSL证书签名文件.key;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4:!DH:!DHE;
ssl_prefer_server_ciphers on;
server_name 写上你的域名地址;
location / {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Range $http_range;
proxy_set_header If-Range $http_if_range;
proxy_redirect off;
proxy_pass http://127.0.0.1:5212;
# 如果要使用本地存储策略就加上下面的,这代表最大单次上传文件尺寸
client_max_body_size 20000m;
}
}
然后执行ngingx -t
检测。没有问题后,就执行:nginx -s reload
配置重启就可以了。
2.2 cloudreve 配置https
我们如果没有安装nginx,那么可以直接使用cloudreve自带的web服务器并配置https启动。
首先找到你的cloudreve的 conf.ini文件。(PS:该文件会在我们安装解压的cloudreve目录下存在。)
找到该文件后,通过vim conf.ini
打开文件 。
只要在我们的conf.ini文件中添加:
代码语言:javascript复制[SSL]
Listen = :443
CertPath = 我们自己的证书.pem
KeyPath = 我们自己的证书签名.pem
两个配置项:一个是SSL证书,一个是私钥。
配置完毕之后,重启cloudreve就可以了。
3. cloudreve 配置文件
整个conf.ini全文档介绍:我们通常只有System标签的内容。下面的标签都没有,我们根据自己的实际需求进行主动添加就可以了
代码语言:javascript复制官方文件上的 注释不是通过
//
符号,而是;
。我为了直观好看,给改为了//
大家自己写的时候,别把//
给复制进去了。
[System]
Mode = master //运行模式
Listen = :5212 //监听端口
Debug = false // 是否开启 Debug
SessionSecret = 23333 //Session 密钥, 一般在首次启动时自动生成
HashIDSalt = something really hard to guss //Hash 加盐, 一般在首次启动时自动生成
[SSL] //SSL 相关配置
Listen = :443 //SSL 监听端口
CertPath = /root/my/zinyan/cert/fullchain.pem //证书路径 根据自己的实际路径进行修改
KeyPath = /root/my/zinyan/cert/privkey.pem //私钥路径 根据自己的实际路径进行修改
[UnixSocket] //启用 Unix Socket 监听
Listen = /run/cloudreve/cloudreve.sock //监听路径
[Database]// 数据库相关,如果你只想使用内置的 SQLite 数据库,这一部分直接删去即可
Type = mysql //数据库类型,目前支持 sqlite/mysql/mssql/postgres
Port = 3306 //MySQL 端口
User = root //数据库用户名
Password = root //数据库访问密码
Host = 127.0.0.1 //数据库地址,结合实际情况写哦
Name = v3 //数据库名称
TablePrefix = cd_ //数据表前缀
Charset = utf8mb4 //字符集
DBFile = cloudreve.db //SQLite 数据库文件路径
[Slave] // 从机模式下的配置
Secret = 1234567891234567123456789123456712345678912345671234567891234567 //通信密钥
CallbackTimeout = 20 //回调请求超时时间 (s)
SignatureTTL = 60 // 签名有效期
[CORS] //跨域配置
AllowOrigins = *
AllowMethods = OPTIONS,GET,POST
AllowHeaders = *
AllowCredentials = false
[Redis] //Redis 相关
Server = 127.0.0.1:6379
Password =
DB = 0
[OptionOverwrite] // 从机配置覆盖,我们可以在web端通过管理员配置,也可以在配置文件中手动配置
max_worker_num = 50 //可直接使用 `设置名称 = 值` 的格式覆盖,任务队列最多并行执行的任务数
max_parallel_transfer = 10 //任务队列中转任务传输时,最大并行协程数
chunk_retries = 10 //中转分片上传失败后重试的最大次数
thumb_width = 400 //缩略图宽度
thumb_height = 300 //缩略图高度
thumb_file_suffix = ._thumb //缩略图后缀名称
thumb_max_task_count = -1 // 最大并行执行缩略图生成的数量,填写 -1 时会根据 CPU 核心数自动决定
thumb_encode_method = jpg //缩略图编码 jpg格式
thumb_gc_after_gen = 0 //是否在缩略图生成完毕后立刻进行垃圾回收
thumb_encode_quality = 85 //编码质量,也就是压缩程度
上面的配置项都是可选项。想用哪个就添加哪个模块就可以了。
3.1 配置MySQL
默认情况下Cloudreve使用的是内置的SQLite数据库。
因为本身云盘使用也用不了太多数据库表进行记录,也就是记录一些配置,以及用户信息,管理员账户等等。云盘最大的文件系统并不是存储在数据库中的。
我们如果不想使用系统内置的SQLite而想使用MySql的话必须是MySQL5.7版以上的才行。低版本不支持。
然后再conf.ini文件中添加:
代码语言:javascript复制[Database]// 数据库相关,如果你只想使用内置的 SQLite 数据库,这一部分直接删去即可
Type = mysql //数据库类型,目前支持 sqlite/mysql/mssql/postgres
Port = 3306 //MySQL 端口
User = root //数据库用户名
Password = root //数据库访问密码
Host = 127.0.0.1 //数据库地址,结合实际情况写哦
Name = v3 //数据库名称
TablePrefix = cd_ //数据表前缀
Charset = utf8mb4 //字符集
添加完成后(请不要将注释内容也添加进去哦)重启cloudreve就可以了。
更换数据库配置后,Cloudreve 会重新初始化数据库,原有的数据将会丢失。也就是账户等等数据会丢失哦。
建议第一次重启的时候,采用./cloudreve 进行启动。这样你能看到最新的管理员账户和密码。如果采用守护进程server的模式启动,你看不到日志。也就不知道账户密码哦。