程序默认监听 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
程序会优先从环境变量中读取配置,设置 force
为 true
会使程序忽略环境变量强制读取配置文件。
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 上,它们的位置是:
- https://www.npmjs.com/package/alist-webopen in new window
- https://github.com/alist-org/web-distopen in new window
所以你可以使用任何 npm 或 GitHub CDN 作为路径,例如:
- [https://cdn.jsdelivr.net/npm/alist-web@version/dist/open in new window](https://cdn.jsdelivr.net/npm/alist-web@version/dist/)
- [https://unpkg.com/alist-web@version/dist/open in new window](https://unpkg.com/alist-web@version/dist/)
- [https://cdn.jsdelivr.net/gh/alist-org/web-dist@version/dist/open in new window](https://cdn.jsdelivr.net/gh/alist-org/web-dist@version/dist/)
- [https://cdn1.tianli0.top/npm/alist-web@version/dist/open in new window](https://cdn1.tianli0.top/npm/alist-web@version/dist/)
- [https://cdn1.tianli0.top/gh/alist-org/web-dist@version/dist/open in new window](https://cdn1.tianli0.top/gh/alist-org/web-dist@version/dist/)
您也可以将其设置为空以使用本地 dist。
jwt_secret
用于签署 JWT 令牌的密钥,第一次启动时随机生成。
token_expires_in
用户登录过期时间,单位:小时
database
数据库配置,默认是 sqlite3
,也可以使用 mysql
或者 postgres
。
scheme
协议配置,如果要使用 HTTPS,可以设置该字段。
temp_dir
程序临时目录,默认 data/temp
log
日志配置,如果要查看详细日志(或禁用它),可以设置该字段。
评论区