openwrt 挂载网盘alist常见问题整理

alist支持主流网盘程序的挂载,并支持全部管理员转webdav,部分目录隐藏或者加密 ,以及针对个别目录单独管理 等等。。。
但是有一些常见问题,官方没有给出解决方案。
lxc + alpine linux 安装alist请参考 https://dev.leiyanhui.com/pve/lxc-nas-alist

# openwrt下安装

三种方式,1是官方命令模式安装 2是插件安装luci-app-alist 3是docker安装

插件安装最直观方便,但是在op里面 会显示出管理员密码 alist貌似是golang写的,而且支持json导出备份迁移方便,所以要不要docker安装,看个人需求吧。

# docker安装

1
docker run -d --restart=always -v /opt/docker_file/op_alist:/opt/alist/data -v /:/openwrt -p 5244:5244 -e PUID=0 -e PGID=0 -e UMASK=022 --name="alist" --hostname "alist" xhofe/alist:latest

# ssl 加密通讯

op插件安装话可以直接配置证书,但是不建议。因为我们家用用户的证书通常都是短期的最长也就1年 维护麻烦。 所以证书都是统一管理的。
我使用的国产的 nginxWebUI工具的docker版,在op上运行,统一管理内网证书,并反带所有内网的服务套上ssl, 详情查看:https://dev.leiyanhui.com/openwrt/nginx-proxy-ssl/

# 上传文件504错误

这个主要是前端用nginx反代后出现的。因为nginx限制了后端超时时间。 Request failed with status code 504

# 上传文件413错误

这个主要是前端用nginx反代后出现的。 因为nginx限制了上传文件大小。 如果是用的nginxWebUI,那么在对应的反代站点里面 设置额外参数 client_max_body_size51200m; #上传限制

# 上传文件504错误

这个主要是前端用nginx反代后出现的。因为nginx限制了后端超时时间。 Request failed with status code 504
如果是用的nginxWebUI,那么在对应的反代站点里面 设置额外参数 对照巷陌413错误的处理方式 分别添加额外参数

1
2
3
proxy_send_timeout 7200;
proxy_read_timeout 7200;
proxy_connect_timeout 7200;

# nginx反向代理

最终代码如下,如果你用宝塔之类的,自行调整。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
server {
  server_name pan.jia.leiyanhui.com;
  listen 50443 ssl http2;
  ssl_certificate /home/nginxWebUI/.acme.sh/*.jia.leiyanhui.com/fullchain.cer;
  ssl_certificate_key /home/nginxWebUI/.acme.sh/*.jia.leiyanhui.com/*.jia.leiyanhui.com.key;
  ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;
  listen 50081;
  if ($scheme = http) {
    return 301 https://$host:50443$request_uri;
  }
  error_page 497 https://$host:50443; #解决http到ssl端口的400错误;
  client_max_body_size 51200m; #上传限制;
  proxy_send_timeout 7200; #超时时间send和上传有关;
  proxy_read_timeout 7200; #超时时间read和下载有关;
  proxy_connect_timeout 60; #超时时间connect和于后端alist建立连接有关;
  location / {
    proxy_pass http://10.1.1.1:5244;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Host $http_host;
    proxy_set_header X-Forwarded-Port $server_port;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_redirect http:// https://;
  
}

# 其他问题

如果是上传 常见系统镜像,建议使用对应网盘的标准客户端来处理。 因为会本地验证后秒传。

Licensed under CC BY-NC-SA 4.0
comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计