OpenList 中文文档 下载 App

用 Nginx 反向代理 OpenList:绑定域名、上 HTTPS 与子目录部署

OpenList 自带 5244 端口的 HTTP 服务,家庭内网直接用 IP 访问即可。但要绑域名、上 HTTPS、和别的网站共用 443 端口,就需要一层反向代理(Nginx、Caddy、宝塔等均可)。

为什么要反代

先改 site_url

走子目录反代(比如把站点挂在域名的某个子路径下)时,必须先在配置文件里把 site_url 设成最终对外地址或子路径,然后重启程序。配置文件位置与字段说明见 config.json 关键字段。整域名反代则无需设置。

Nginx 子目录示例

把站点代理到 /openlist/ 子路径的关键片段:

location /openlist/ {
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
    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:5244/openlist/;
    client_max_body_size 20000m;
}

两个容易漏的点:

宝塔面板用户

宝塔添加站点后在「反向代理」里填目标地址指向本机 5244 即可,官方文档提供了截图流程;同样记得在站点配置里放宽上传大小限制。

CDN 的坑

给 OpenList 套 CDN 要慎重:登录 Token 会被 CDN 缓存搅乱,出现「刚登录成功又提示未登录」的怪象(见 登录排查)。不熟悉 CDN 缓存规则的话,先别套。