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

2022-12-07 17:34:15 浏览数 (1)

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配置文件。

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

0 人点赞