目 录CONTENT

文章目录

Alist 反向代理教程

华灯
2024-04-16 / 0 评论 / 0 点赞 / 15 阅读 / 4884 字

程序默认监听 5244 端口。如有修改,请一并修改下列配置中的端口号。如果你使用反向代理,建议你设置site_url,以帮助alist更好的工作。(配置文件在最后)

nginx

在网站配置文件的 server 字段中添加

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:5244;
  # the max size of file to upload
  client_max_body_size 20000m;
}

注意

如果使用宝塔面板,请务必删除以下默认配置

- location ~ ^/(\.user.ini|\.htaccess|\.git|\.svn|\.project|LICENSE|README.md
- location ~ .\*\.(gif|jpg|jpeg|png|bmp|swf)$
- location ~ .\*\.(js|css)?$

Apache

在 VirtualHost 字段下添加配置项 ProxyPass,如:

<VirtualHost *:80>
    ServerName myapp.example.com
    ServerAdmin webmaster@example.com
    DocumentRoot /www/myapp/public

    AllowEncodedSlashes NoDecode
    ProxyPass "/" "http://127.0.0.1:5244/" nocanon
</VirtualHost>

Caddy

在 Caddyfile 文件下添加 reverse_proxy,如:

:80 {
  reverse_proxy 127.0.0.1:5244
}

如果部署在 443 端口正常使用的服务器上且使用域名进行访问,建议使用这种配置让 Caddy 自动申请证书:

example.com {
  reverse_proxy 127.0.0.1:5244
}

将 `example.com` 替换为你自己解析后的域名。

群晖

打开 控制面板→ 控制门户→ 高级→ 反向代理服务器

填写名称 来源域名 端口 以及 目的地名称端口号(Alist所在主机的IP和端口号5244) 就可以了。

群晖的反代最简单!

配置文件

初始配置

{
  "force": false,
  "address": "0.0.0.0",
  "port": 5244,
  "jwt_secret": "random generated",
  "token_expires_in": 48,
  "site_url": "",
  "cdn": "",
  "database": {
    "type": "sqlite3",
    "host": "",
    "port": 0,
    "user": "",
    "password": "",
    "name": "",
    "db_file": "data/data.db",
    "table_prefix": "x_",
    "ssl_mode": ""
  },
  "scheme": {
    "https": false,
    "cert_file": "",
    "key_file": ""
  },
  "temp_dir": "data/temp",
  "log": {
    "enable": true,
    "name": "log/log.log",
    "max_size": 10,
    "max_backups": 5,
    "max_age": 28,
    "compress": false
  }
}

字段说明

force

程序会优先从环境变量中读取配置,设置 forcetrue 会使程序忽略环境变量强制读取配置文件。

address

要监听的地址,默认为 0.0.0.0

port

要监听的端口,默认为 5244

site_url

你的网站URL,比如https://pan.nn.ci,这个地址会在程序中的某些地方使用,如果不设置这个字段,一些功能可能无法正常工作,比如

  • 本地存储的缩略图
  • 开启web代理后的预览
  • 开启web代理后的下载地址
  • 反向代理至二级目录
  • ...

cdn

CDN 地址,如果要使用 CDN,可以设置该字段,$version 会被替换为 alist-web 的实际版本 这是动态的。 现有的 dist 资源托管在 npm 和 GitHub 上,它们的位置是:

所以你可以使用任何 npm 或 GitHub CDN 作为路径,例如:

您也可以将其设置为空以使用本地 dist。

jwt_secret

用于签署 JWT 令牌的密钥,第一次启动时随机生成。

token_expires_in

用户登录过期时间,单位:小时

database

数据库配置,默认是 sqlite3,也可以使用 mysql 或者 postgres

scheme

协议配置,如果要使用 HTTPS,可以设置该字段。

temp_dir

程序临时目录,默认 data/temp

log

日志配置,如果要查看详细日志(或禁用它),可以设置该字段。

0

评论区