AlistGo / alist

🗂️A file list/WebDAV program that supports multiple storages, powered by Gin and Solidjs. / 一个支持多存储的文件列表/WebDAV程序,使用 Gin 和 Solidjs。
https://alist.nn.ci
GNU Affero General Public License v3.0
43.75k stars 5.67k forks source link

从一个AlistV3复制到另一个AlistV3出现http400错误 #5465

Closed ArenaDruid closed 11 months ago

ArenaDruid commented 1 year ago

Please make sure of the following things

AList Version / AList 版本

复制源:v3.28.0;复制到:v3.26.0

Driver used / 使用的存储驱动

复制源:本地存储; 复制到:本地存储

Describe the bug / 问题描述

这是向第一台机器的传输记录,客户端报错。 image 而后用docker在我的windows笔记本上部署了另一个alistv3.28.0,也出现了类似的报错,事后发现的确有文件传入目标服务器,但是视频大小远小于原视频大小,在线播放只有前一小部分可以正常播放。 image

Reproduction / 复现链接

两台设备都部署在不对外暴露的局域网中,无法提供链接 部署两个Alist,将一个Alist(A)挂载到另一个Alist(B)上,然后再那个Alist(B)往(A)复制文件。

Config / 配置

{
  "settings": [
    {
      "key": "version",
      "value": "v3.28.0",
      "help": "",
      "type": "string",
      "options": "",
      "group": 1,
      "flag": 2
    },
    {
      "key": "site_title",
      "value": "AList",
      "help": "",
      "type": "string",
      "options": "",
      "group": 1,
      "flag": 0
    },
    {
      "key": "announcement",
      "value": "### repo\nhttps://github.com/alist-org/alist",
      "help": "",
      "type": "text",
      "options": "",
      "group": 1,
      "flag": 0
    },
    {
      "key": "pagination_type",
      "value": "all",
      "help": "",
      "type": "select",
      "options": "all,pagination,load_more,auto_load_more",
      "group": 1,
      "flag": 0
    },
    {
      "key": "default_page_size",
      "value": "30",
      "help": "",
      "type": "number",
      "options": "",
      "group": 1,
      "flag": 0
    },
    {
      "key": "allow_indexed",
      "value": "true",
      "help": "",
      "type": "bool",
      "options": "",
      "group": 1,
      "flag": 0
    },
    {
      "key": "allow_mounted",
      "value": "true",
      "help": "",
      "type": "bool",
      "options": "",
      "group": 1,
      "flag": 0
    },
    {
      "key": "robots_txt",
      "value": "User-agent: *\nDisallow: /",
      "help": "",
      "type": "text",
      "options": "",
      "group": 1,
      "flag": 0
    },
    {
      "key": "logo",
      "value": "https://cdn.jsdelivr.net/gh/alist-org/logo@main/logo.svg",
      "help": "",
      "type": "text",
      "options": "",
      "group": 2,
      "flag": 0
    },
    {
      "key": "favicon",
      "value": "https://cdn.jsdelivr.net/gh/alist-org/logo@main/logo.svg",
      "help": "",
      "type": "string",
      "options": "",
      "group": 2,
      "flag": 0
    },
    {
      "key": "main_color",
      "value": "#1890ff",
      "help": "",
      "type": "string",
      "options": "",
      "group": 2,
      "flag": 0
    },
    {
      "key": "home_icon",
      "value": "🏠",
      "help": "",
      "type": "string",
      "options": "",
      "group": 2,
      "flag": 0
    },
    {
      "key": "home_container",
      "value": "max_980px",
      "help": "",
      "type": "select",
      "options": "max_980px,hope_container",
      "group": 2,
      "flag": 0
    },
    {
      "key": "settings_layout",
      "value": "list",
      "help": "",
      "type": "select",
      "options": "list,responsive",
      "group": 2,
      "flag": 0
    },
    {
      "key": "text_types",
      "value": "txt,htm,html,xml,java,properties,sql,js,md,json,conf,ini,vue,php,py,bat,gitignore,yml,go,sh,c,cpp,h,hpp,tsx,vtt,srt,ass,rs,lrc",
      "help": "",
      "type": "text",
      "options": "",
      "group": 3,
      "flag": 1
    },
    {
      "key": "audio_types",
      "value": "mp3,flac,ogg,m4a,wav,opus,wma",
      "help": "",
      "type": "text",
      "options": "",
      "group": 3,
      "flag": 1
    },
    {
      "key": "video_types",
      "value": "mp4,mkv,avi,mov,rmvb,webm,flv",
      "help": "",
      "type": "text",
      "options": "",
      "group": 3,
      "flag": 1
    },
    {
      "key": "image_types",
      "value": "jpg,tiff,jpeg,png,gif,bmp,svg,ico,swf,webp",
      "help": "",
      "type": "text",
      "options": "",
      "group": 3,
      "flag": 1
    },
    {
      "key": "proxy_types",
      "value": "m3u8",
      "help": "",
      "type": "text",
      "options": "",
      "group": 3,
      "flag": 1
    },
    {
      "key": "proxy_ignore_headers",
      "value": "authorization,referer",
      "help": "",
      "type": "text",
      "options": "",
      "group": 3,
      "flag": 1
    },
    {
      "key": "external_previews",
      "value": "{}",
      "help": "",
      "type": "text",
      "options": "",
      "group": 3,
      "flag": 0
    },
    {
      "key": "iframe_previews",
      "value": "{\n\t\"doc,docx,xls,xlsx,ppt,pptx\": {\n\t\t\"Google\":\"https://docs.google.com/gview?url=$e_url&embedded=true\",\n\t\t\"Microsoft\":\"https://view.officeapps.live.com/op/view.aspx?src=$e_url\"\n\t\t\n\t},\n\t\"pdf\": {\n\t\t\"PDF.js\":\"https://alist-org.github.io/pdf.js/web/viewer.html?file=$e_url\"\n\t},\n\t\"epub\": {\n\t\t\"EPUB.js\":\"/static/epub.js/viewer.html?url=$e_url\"\n\t}\n}",
      "help": "",
      "type": "text",
      "options": "",
      "group": 3,
      "flag": 0
    },
    {
      "key": "audio_cover",
      "value": "https://jsd.nn.ci/gh/alist-org/logo@main/logo.svg",
      "help": "",
      "type": "string",
      "options": "",
      "group": 3,
      "flag": 0
    },
    {
      "key": "audio_autoplay",
      "value": "true",
      "help": "",
      "type": "bool",
      "options": "",
      "group": 3,
      "flag": 0
    },
    {
      "key": "video_autoplay",
      "value": "true",
      "help": "",
      "type": "bool",
      "options": "",
      "group": 3,
      "flag": 0
    },
    {
      "key": "hide_files",
      "value": "/\\/README.md/i",
      "help": "",
      "type": "text",
      "options": "",
      "group": 4,
      "flag": 0
    },
    {
      "key": "package_download",
      "value": "true",
      "help": "",
      "type": "bool",
      "options": "",
      "group": 4,
      "flag": 0
    },
    {
      "key": "customize_head",
      "value": "<script src=\"https://polyfill.io/v3/polyfill.min.js?features=String.prototype.replaceAll\"></script>",
      "help": "",
      "type": "text",
      "options": "",
      "group": 4,
      "flag": 1
    },
    {
      "key": "customize_body",
      "value": "",
      "help": "",
      "type": "text",
      "options": "",
      "group": 4,
      "flag": 1
    },
    {
      "key": "link_expiration",
      "value": "0",
      "help": "",
      "type": "number",
      "options": "",
      "group": 4,
      "flag": 1
    },
    {
      "key": "sign_all",
      "value": "true",
      "help": "",
      "type": "bool",
      "options": "",
      "group": 4,
      "flag": 1
    },
    {
      "key": "privacy_regs",
      "value": "(?:(?:\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])\\.){3}(?:\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])\n([[:xdigit:]]{1,4}(?::[[:xdigit:]]{1,4}){7}|::|:(?::[[:xdigit:]]{1,4}){1,6}|[[:xdigit:]]{1,4}:(?::[[:xdigit:]]{1,4}){1,5}|(?:[[:xdigit:]]{1,4}:){2}(?::[[:xdigit:]]{1,4}){1,4}|(?:[[:xdigit:]]{1,4}:){3}(?::[[:xdigit:]]{1,4}){1,3}|(?:[[:xdigit:]]{1,4}:){4}(?::[[:xdigit:]]{1,4}){1,2}|(?:[[:xdigit:]]{1,4}:){5}:[[:xdigit:]]{1,4}|(?:[[:xdigit:]]{1,4}:){1,6}:)\n(?U)access_token=(.*)&",
      "help": "",
      "type": "text",
      "options": "",
      "group": 4,
      "flag": 1
    },
    {
      "key": "ocr_api",
      "value": "https://api.nn.ci/ocr/file/json",
      "help": "",
      "type": "string",
      "options": "",
      "group": 4,
      "flag": 0
    },
    {
      "key": "filename_char_mapping",
      "value": "{\"/\": \"|\"}",
      "help": "",
      "type": "text",
      "options": "",
      "group": 4,
      "flag": 0
    },
    {
      "key": "forward_direct_link_params",
      "value": "false",
      "help": "",
      "type": "bool",
      "options": "",
      "group": 4,
      "flag": 0
    },
    {
      "key": "webauthn_login_enabled",
      "value": "false",
      "help": "",
      "type": "bool",
      "options": "",
      "group": 4,
      "flag": 0
    },
    {
      "key": "aria2_uri",
      "value": "",
      "help": "",
      "type": "string",
      "options": "",
      "group": 5,
      "flag": 1
    },
    {
      "key": "aria2_secret",
      "value": "",
      "help": "",
      "type": "string",
      "options": "",
      "group": 5,
      "flag": 1
    },
    {
      "key": "token",
      "value": "********",
      "help": "",
      "type": "string",
      "options": "",
      "group": 0,
      "flag": 1
    },
    {
      "key": "search_index",
      "value": "database",
      "help": "",
      "type": "select",
      "options": "database,database_non_full_text,bleve,none",
      "group": 6,
      "flag": 0
    },
    {
      "key": "auto_update_index",
      "value": "true",
      "help": "",
      "type": "bool",
      "options": "",
      "group": 6,
      "flag": 0
    },
    {
      "key": "ignore_paths",
      "value": "",
      "help": "one path per line",
      "type": "text",
      "options": "",
      "group": 6,
      "flag": 1
    },
    {
      "key": "max_index_depth",
      "value": "20",
      "help": "max depth of index",
      "type": "number",
      "options": "",
      "group": 6,
      "flag": 1
    },
    {
      "key": "index_progress",
      "value": "{\"obj_count\":0,\"is_done\":true,\"last_done_time\":null,\"error\":\"\"}",
      "help": "",
      "type": "text",
      "options": "",
      "group": 0,
      "flag": 1
    },
    {
      "key": "sso_login_enabled",
      "value": "false",
      "help": "",
      "type": "bool",
      "options": "",
      "group": 7,
      "flag": 0
    },
    {
      "key": "sso_login_platform",
      "value": "",
      "help": "",
      "type": "select",
      "options": "Casdoor,Github,Microsoft,Google,Dingtalk,OIDC",
      "group": 7,
      "flag": 0
    },
    {
      "key": "sso_client_id",
      "value": "",
      "help": "",
      "type": "string",
      "options": "",
      "group": 7,
      "flag": 1
    },
    {
      "key": "sso_client_secret",
      "value": "",
      "help": "",
      "type": "string",
      "options": "",
      "group": 7,
      "flag": 1
    },
    {
      "key": "sso_organization_name",
      "value": "",
      "help": "",
      "type": "string",
      "options": "",
      "group": 7,
      "flag": 1
    },
    {
      "key": "sso_application_name",
      "value": "",
      "help": "",
      "type": "string",
      "options": "",
      "group": 7,
      "flag": 1
    },
    {
      "key": "sso_endpoint_name",
      "value": "",
      "help": "",
      "type": "string",
      "options": "",
      "group": 7,
      "flag": 1
    },
    {
      "key": "sso_jwt_public_key",
      "value": "",
      "help": "",
      "type": "string",
      "options": "",
      "group": 7,
      "flag": 1
    },
    {
      "key": "sso_auto_register",
      "value": "false",
      "help": "",
      "type": "bool",
      "options": "",
      "group": 7,
      "flag": 1
    },
    {
      "key": "sso_default_dir",
      "value": "/",
      "help": "",
      "type": "string",
      "options": "",
      "group": 7,
      "flag": 1
    },
    {
      "key": "sso_default_permission",
      "value": "0",
      "help": "",
      "type": "number",
      "options": "",
      "group": 7,
      "flag": 1
    },
    {
      "key": "sso_compatibility_mode",
      "value": "false",
      "help": "",
      "type": "bool",
      "options": "",
      "group": 7,
      "flag": 0
    },
    {
      "key": "qbittorrent_url",
      "value": "http://User:Key@localhost:4078/",
      "help": "",
      "type": "string",
      "options": "",
      "group": 0,
      "flag": 1
    },
    {
      "key": "qbittorrent_seedtime",
      "value": "0",
      "help": "",
      "type": "number",
      "options": "",
      "group": 0,
      "flag": 1
    },
    {
      "key": "github_client_id",
      "value": "",
      "help": "",
      "type": "string",
      "options": "",
      "group": 7,
      "flag": 3
    },
    {
      "key": "github_client_secrets",
      "value": "",
      "help": "",
      "type": "string",
      "options": "",
      "group": 7,
      "flag": 3
    },
    {
      "key": "github_login_enabled",
      "value": "false",
      "help": "",
      "type": "bool",
      "options": "",
      "group": 7,
      "flag": 3
    }
  ],
  "users": [
    {
      "id": 1,
      "username": "****",
      "password": "",
      "base_path": "/",
      "role": 2,
      "disabled": false,
      "permission": 0,
      "sso_id": ""
    },
  ],
  "storages": [
    {
      "id": 7,
      "mount_path": "/ca1cai_server",
      "order": 1,
      "driver": "AList V3",
      "cache_expiration": 30,
      "status": "work",
      "addition": "{\"root_folder_path\":\"/\",\"url\":\"http://****.*****:5244\",\"meta_password\":\"\",\"username\":\"*****\",\"password\":\"******.\",\"token\":\"*******\"}",
      "remark": "",
      "modified": "2023-11-03T11:28:29.383753964Z",
      "disabled": false,
      "enable_sign": false,
      "order_by": "",
      "order_direction": "",
      "extract_folder": "",
      "web_proxy": false,
      "webdav_policy": "native_proxy",
      "down_proxy_url": ""
    },
    {
      "id": 4,
      "mount_path": "/mnt",
      "order": 3,
      "driver": "Local",
      "cache_expiration": 0,
      "status": "work",
      "addition": "{\"root_folder_path\":\"/mnt\",\"thumbnail\":false,\"thumb_cache_folder\":\"\",\"show_hidden\":true,\"mkdir_perm\":\"777\"}",
      "remark": "",
      "modified": "2023-10-23T10:32:58.516739905Z",
      "disabled": false,
      "enable_sign": false,
      "order_by": "",
      "order_direction": "",
      "extract_folder": "",
      "web_proxy": false,
      "webdav_policy": "native_proxy",
      "down_proxy_url": ""
    }
  ],
  "metas": []
}

Logs / 日志

2023/11/03 12:38:14.764118 WARN RESTY Put "http://100.113.12.129:5244/api/fs/put": context deadline exceeded (Client.Timeout exceeded while awaiting headers), Attempt 1 2023/11/03 12:38:18.345530 WARN RESTY Put "http://100.113.12.129:5244/api/fs/put": context deadline exceeded (Client.Timeout exceeded while awaiting headers), Attempt 1 2023/11/03 12:38:19.673404 WARN RESTY Put "http://100.113.12.129:5244/api/fs/put": context deadline exceeded (Client.Timeout exceeded while awaiting headers), Attempt 1 2023/11/03 12:38:50.752658 WARN RESTY Put "http://100.113.12.129:5244/api/fs/put": context deadline exceeded (Client.Timeout exceeded while awaiting headers), Attempt 1 2023/11/03 12:38:57.115292 WARN RESTY Put "http://100.113.12.129:5244/api/fs/put": context deadline exceeded (Client.Timeout exceeded while awaiting headers), Attempt 1 2023/11/03 12:39:00.563849 WARN RESTY Put "http://100.113.12.129:5244/api/fs/put": context deadline exceeded (Client.Timeout exceeded while awaiting headers), Attempt 1 2023/11/03 12:39:27.260191 WARN RESTY Put "http://100.113.12.129:5244/api/fs/put": context deadline exceeded (Client.Timeout exceeded while awaiting headers), Attempt 1 2023/11/03 12:39:44.520899 WARN RESTY Put "http://100.113.12.129:5244/api/fs/put": context deadline exceeded (Client.Timeout exceeded while awaiting headers), Attempt 1 2023/11/03 12:39:45.660996 WARN RESTY Put "http://100.113.12.129:5244/api/fs/put": context deadline exceeded (Client.Timeout exceeded while awaiting headers), Attempt 1 2023/11/03 12:40:02.296706 WARN RESTY Put "http://100.113.12.129:5244/api/fs/put": context deadline exceeded (Client.Timeout exceeded while awaiting headers), Attempt 1 2023/11/03 12:40:22.061778 WARN RESTY Put "http://100.113.12.129:5244/api/fs/put": context deadline exceeded (Client.Timeout exceeded while awaiting headers), Attempt 1 2023/11/03 12:40:23.135650 WARN RESTY Put "http://100.113.12.129:5244/api/fs/put": context deadline exceeded (Client.Timeout exceeded while awaiting headers), Attempt 1 2023/11/03 12:40:33.276051 WARN RESTY Put "http://100.113.12.129:5244/api/fs/put": context deadline exceeded (Client.Timeout exceeded while awaiting headers), Attempt 1

welcome[bot] commented 1 year ago

Thanks for opening your first issue here! Be sure to follow the issue template!

ArenaDruid commented 1 year ago

我检查过以前的Issues,发现之前出现过类似的问题,https://github.com/alist-org/alist/issues/4457 ,但是问题已经被关闭而我如今又遇到类似的问题。

ArenaDruid commented 1 year ago

没有使用任何CDN

ghost commented 1 year ago

能否支持断点续传。put 复制失败中途退出了,现在没法继续。