Cloudreve 云盘配置开启https,和conf.ini介绍

2023-01-18 Nginxhttps网络安全数据库Windows

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

然后在打开的文件中配置如下:

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文件中添加:

[ssl] 
listen = :443  
certpath = 我们自己的证书.pem  
keypath = 我们自己的证书签名.pem  

两个配置项:一个是ssl证书,一个是私钥。

配置完毕之后,重启cloudreve就可以了。

3. cloudreve 配置文件

整个conf.ini全文档介绍:我们通常只有system标签的内容。下面的标签都没有,我们根据自己的实际需求进行主动添加就可以了

官方文件上的 注释不是通过//符号,而是;。我为了直观好看,给改为了// 大家自己写的时候,别把//给复制进去了。

[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文件中添加:

[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的模式启动,你看不到日志。也就不知道账户密码哦。

上一篇:.NET Core3.1 Dotnetty实战第二章

下一篇:PDF转Word完全指南:3大方法满足各种场景!