前言

Cherry Studio 通过 alist进行 webdav 备份到OneDrive。报错如下:

Error invoking remote method 'backup:backupToWebdav': Error: Invalid response: 413 Request Entity Too Large

步骤流程

找出错误

Nginx 反向代理配置的问题,默认的 client_max_body_size 是 1MB,所以会Too Large

解决办法

在 alist 的反代配置文件中增加一行配置:client_max_body_size 1024m;

如:

location ^~ / {
    proxy_pass http://127.0.0.1:52442; 
    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 REMOTE-HOST $remote_addr; 
    proxy_set_header Upgrade $http_upgrade; 
    proxy_set_header Connection $http_connection; 
    proxy_set_header X-Forwarded-Proto $scheme; 
    proxy_http_version 1.1; 
    add_header X-Cache $upstream_cache_status; 
    add_header Cache-Control no-cache; 
    proxy_ssl_server_name off; 
    proxy_ssl_name $proxy_host; 
    add_header Strict-Transport-Security "max-age=31536000"; 
}

修改后:

location ^~ / {
    proxy_pass http://127.0.0.1:52442; 
    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 REMOTE-HOST $remote_addr; 
    proxy_set_header Upgrade $http_upgrade; 
    proxy_set_header Connection $http_connection; 
    proxy_set_header X-Forwarded-Proto $scheme; 
    proxy_http_version 1.1; 
    client_max_body_size 1024m; 
    add_header X-Cache $upstream_cache_status; 
    add_header Cache-Control no-cache; 
    proxy_ssl_server_name off; 
    proxy_ssl_name $proxy_host; 
    add_header Strict-Transport-Security "max-age=31536000"; 
}

具体步骤

我使用的linux管理是1panel:

  1. 1panel->网站->反代alist使用的反代网站设置->反向代理->源文
  2. 修改配置

总结

之前也碰到过这样的问题,因为反代允许的上传文件大小限制没有修改,记录一下