进阶 docs.cloudreve.org 2026-10-17 18:46:57 · 20 阅读

第6章 Cloudreve 部署后续步骤:配置管理面板与反向代理

后续步骤

本页列出一些推荐的后续部署步骤。虽然不是必须的,但我们建议你完成这些操作。

在管理面板中配置站点

第一个注册的用户将被设为管理员。登录后访问 {your-domain}/admin 进入管理面板,建议进行以下配置:

修改或添加 Site URL;

在 Storage Policies 中添加或修改存储策略;

在 User Groups 中添加或修改用户组,并为用户组分配存储策略。

配置反向代理

按照前面的步骤部署后,你的 Cloudreve 实例只能通过 http://:5212 访问,即用户直接访问 Cloudreve 内置的 Web 服务器。个人使用或小规模场景下可以继续沿用这种方式,但如果要把 Cloudreve 部署到公网,建议配置反向代理,这样可以获得更多配置选项,例如日志、SSL、WAF 等。

你需要在 Web 服务器中新建一个虚拟主机,完成必要的配置(如启用 HTTPS),然后在网站配置文件中添加反向代理规则。

在 server 块中加入以下配置:

```nginx location / { proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; # 重要,必须保留 Host 头,部分 Cloudreve 功能才能正常工作。 proxy_redirect off; proxy_pass http://127.0.0.1:5212; # 请替换为你的 Cloudreve 实例的实际地址。

# 设置最大上传文件大小,如有需要请取消注释。 # 理论上,本地存储策略的分片大小、WebDAV 的最大上传大小、中转服务的最大上传大小都不应超过这里的设置。 # client_max_body_size 20000m; } ```

为内置 Web 服务器配置 SSL

如果不想使用反向代理但仍需要 SSL,可以使用 Cloudreve 内置的 Web 服务器并配置 SSL。编辑 data/conf.ini 文件,添加以下配置:

```ini [SSL] Listen = :443 CertPath = /path/to/your/fullchain.pem ; 证书文件路径 KeyPath = /path/to/your/privkey.pem ; 私钥文件路径 ```

传递客户端真实 IP

Cloudreve 的事件日志功能会尝试记录客户端的真实 IP,但如果你使用了反向代理,真实 IP 会被 X-Forwarded-For 头覆盖,导致日志记录不准确。你可以在 data/conf.ini 中添加 ProxyHeader 配置,让 Cloudreve 从 X-Forwarded-For 头中提取真实 IP:

```ini [System] Mode = master Listen = :5212 ProxyHeader = X-Forwarded-For ```

如果反向代理之外还配置了 CDN 服务,请参考 CDN 服务商的文档了解如何传递真实 IP。例如使用 Cloudflare 和 Nginx 时,需要借助 ngx_http_realip_module 模块让 Nginx 从 Cloudflare 中提取真实 IP:

```nginx set_real_ip_from 192.0.2.1 (需替换为最新的 Cloudflare IP 段) real_ip_header CF-Connecting-IP; proxy_set_header X-Forwarded-For $realip_remote_addr; ```

更多信息及其他 Web 服务器的配置方法,请参考 Cloudflare 文档。

检查缓存配置

Cloudreve 使用 Service Worker 缓存静态资源。用户首次访问时,Cloudreve 会获取静态资源并缓存到本地浏览器;之后的访问会直接使用本地缓存以提升访问速度。但在版本更新后,Cloudreve 需要检查 sw.js 来判断是否更新缓存。如果你的 Web 服务器错误地缓存了 sw.js,会导致用户无法正常更新页面缓存。

请确保以下路径不被 Web 服务器缓存:

/sw.js /index.html /manifest.json

某些服务器管理面板可能会在你不知情的情况下添加类似下面的缓存配置:

```nginx location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg|woff|woff2|ttf|eot)$ { expires 30d; } ```

请删除此类配置。Cloudreve 内置服务器已经对静态资源的缓存控制做了优化,这类配置会导致 sw.js 被错误缓存。

评论 (0)