Skip to content

[BUG] 网盘挂载webdav时疑似发生并发问题 #1951

Closed

Description

@sakura2333

请确认以下事项

  • 我已确认阅读并同意 AGPL-3.0 第15条 。
    本程序不提供任何明示或暗示的担保,使用风险由您自行承担。

  • 我已确认阅读并同意 AGPL-3.0 第16条 。
    无论何种情况,版权持有人或其他分发者均不对使用本程序所造成的任何损失承担责任。

  • 我确认我的描述清晰,语法礼貌,能帮助开发者快速定位问题,并符合社区规则。

  • 我已确认阅读了OpenList文档。

  • 我已确认没有重复的问题或讨论。

  • 我已确认是OpenList的问题,而不是其他原因(例如 网络 ,依赖或操作)。

  • 我认为此问题必须由OpenList处理,而非第三方。

  • 我已确认这个问题在最新版本中没有被修复。

OpenList 版本(必填)

openlistteam/openlist:latest-aio

使用的存储驱动(必填)

115open

问题描述(必填)

本地使用e192149480c75b8bfa493ff42c62262400378d20 排查115挂载webdav长时间无响应问题
在webdav客户端 会出于对各类meta data显示,预加载等目的
对单个文件进行短时间内多次请求时发生

日志(必填)

DEBU[2026-01-10 20:20:21]/Users/sakana/code/OpenList/internal/op/path.go:27 github.com/OpenListTeam/OpenList/v4/internal/op.GetStorageAndActualPath() use storage: /115
DEBU[2026-01-10 20:20:21]/Users/sakana/code/OpenList/internal/op/fs.go:134 github.com/OpenListTeam/OpenList/v4/internal/op.Get() op.Get /云下载/Imnailong
DEBU[2026-01-10 20:20:21]/Users/sakana/code/OpenList/internal/op/path.go:27 github.com/OpenListTeam/OpenList/v4/internal/op.GetStorageAndActualPath() use storage: /115
DEBU[2026-01-10 20:20:21]/Users/sakana/code/OpenList/internal/op/fs.go:35 github.com/OpenListTeam/OpenList/v4/internal/op.list() op.List /云下载/Imnailong
DEBU[2026-01-10 20:20:21]/Users/sakana/code/OpenList/internal/op/fs.go:39 github.com/OpenListTeam/OpenList/v4/internal/op.list() use cache when list /云下载/Imnong

配置文件内容(必填)

{
"force": false,
"site_url": "",
"cdn": "",
"token_expires_in": 48,
"database": {
"type": "sqlite3",
"host": "",
"port": 0,
"user": "",
"password": "",
"name": "",
"db_file": "data/data.db",
"table_prefix": "x_",
"ssl_mode": "",
"dsn": ""
},
"meilisearch": {
"host": "http://localhost:7700",
"api_key": "",
"index": "openlist"
},
"scheme": {
"address": "0.0.0.0",
"http_port": 5244,
"https_port": -1,
"force_https": false,
"cert_file": "",
"key_file": "",
"unix_file": "",
"unix_file_perm": "",
"enable_h2c": false,
"enable_h3": false
},
"temp_dir": "data/temp",
"bleve_dir": "data/bleve",
"dist_dir": "",
"log": {
"enable": true,
"name": "data/log/log.log",
"max_size": 50,
"max_backups": 30,
"max_age": 28,
"compress": false,
"filter": {
"enable": true,
"filters": [
{
"cidr": "",
"path": "/ping",
"method": ""
},
{
"cidr": "",
"path": "",
"method": "HEAD"
},
{
"cidr": "",
"path": "/dav/",
"method": "PROPFIND"
}
]
}
},
"delayed_start": 0,
"max_buffer_limitMB": -1,
"mmap_thresholdMB": 4,
"max_connections": 0,
"max_concurrency": 64,
"tls_insecure_skip_verify": true,
"tasks": {
"download": {
"workers": 5,
"max_retry": 1,
"task_persistant": false
},
"transfer": {
"workers": 5,
"max_retry": 2,
"task_persistant": false
},
"upload": {
"workers": 5,
"max_retry": 0,
"task_persistant": false
},
"copy": {
"workers": 5,
"max_retry": 2,
"task_persistant": false
},
"move": {
"workers": 5,
"max_retry": 2,
"task_persistant": false
},
"decompress": {
"workers": 5,
"max_retry": 2,
"task_persistant": false
},
"decompress_upload": {
"workers": 5,
"max_retry": 2,
"task_persistant": false
},
"allow_retry_canceled": false
},
"cors": {
"allow_origins": [
""
],
"allow_methods": [
"
"
],
"allow_headers": [
"*"
]
},
"s3": {
"enable": false,
"port": 5246,
"ssl": false
},
"ftp": {
"enable": false,
"listen": ":5221",
"find_pasv_port_attempts": 50,
"active_transfer_port_non_20": false,
"idle_timeout": 900,
"connection_timeout": 30,
"disable_active_mode": false,
"default_transfer_binary": false,
"enable_active_conn_ip_check": true,
"enable_pasv_conn_ip_check": true
},
"sftp": {
"enable": false,
"listen": ":5222"
},
"last_launched_version": "v4.1.9",
"proxy_address": ""
}

复现链接(可选)

No response

Activity

  1. github-actions commented on Jan 10, 2026

    @github-actions

    感谢您联系OpenList。我们会尽快回复您。
    Thanks for contacting OpenList. We will reply to you as soon as possible.

  2. sakura2333 commented on Jan 10, 2026

    @sakura2333
    Author

    补充一个问题
    `DEBU[2026-01-10 21:53:30]/Users/sakana/code/OpenList/server/webdav.go:69 github.com/OpenListTeam/OpenList/v4/server.WebDAVAuth() [webdav auth] token:
    DEBU[2026-01-10 21:53:30]/Users/sakana/code/OpenList/server/webdav.go:69 github.com/OpenListTeam/OpenList/v4/server.WebDAVAuth() [webdav auth] token:
    DEBU[2026-01-10 21:53:30]/Users/sakana/code/OpenList/server/webdav.go:69 github.com/OpenListTeam/OpenList/v4/server.WebDAVAuth() [webdav auth] token:
    DEBU[2026-01-10 21:53:30]/Users/sakana/code/OpenList/internal/op/path.go:27 github.com/OpenListTeam/OpenList/v4/internal/op.GetStorageAndActualPath() use storage: /115
    DEBU[2026-01-10 21:53:30]/Users/sakana/code/OpenList/internal/op/fs.go:134 github.com/OpenListTeam/OpenList/v4/internal/op.Get() op.Get /云下载/Imnailong/Imnailonp4
    DEBU[2026-01-10 21:53:30]/Users/sakana/code/OpenList/internal/op/path.go:27 github.com/OpenListTeam/OpenList/v4/internal/op.GetStorageAndActualPath() use storage: /115
    DEBU[2026-01-10 21:53:30]/Users/sakana/code/OpenList/internal/op/fs.go:134 github.com/OpenListTeam/OpenList/v4/internal/op.Get() op.Get /云下载/Imnailong/Imnailonp4
    DEBU[2026-01-10 21:53:30]/Users/sakana/code/OpenList/internal/op/path.go:27 github.com/OpenListTeam/OpenList/v4/internal/op.GetStorageAndActualPath() use storage: /115
    DEBU[2026-01-10 21:53:30]/Users/sakana/code/OpenList/internal/op/fs.go:134 github.com/OpenListTeam/OpenList/v4/internal/op.Get() op.Get /云下载/Imnailong
    DEBU[2026-01-10 21:53:30]/Users/sakana/code/OpenList/internal/op/path.go:27 github.com/OpenListTeam/OpenList/v4/internal/op.GetStorageAndActualPath() use storage: /115
    DEBU[2026-01-10 21:53:30]/Users/sakana/code/OpenList/internal/op/fs.go:35 github.com/OpenListTeam/OpenList/v4/internal/op.list() op.List /云下载/Imnailong
    DEBU[2026-01-10 21:53:30]/Users/sakana/code/OpenList/internal/op/fs.go:39 github.com/OpenListTeam/OpenList/v4/internal/op.list() use cache when list /云下载/Imnaig
    DEBU[2026-01-10 21:53:30]/Users/sakana/code/OpenList/server/webdav.go:69 github.com/OpenListTeam/OpenList/v4/server.WebDAVAuth() [webdav auth] token:
    [GIN] 2026/01/10 - 21:53:30 | 401 | 94.125µs | 192.168.1.150 | GET "/dav/115/云下载/Imnailong/Imnailong.mp4"
    DEBU[2026-01-10 21:53:30]/Users/sakana/code/OpenList/internal/op/path.go:27 github.com/OpenListTeam/OpenList/v4/internal/op.GetStorageAndActualPath() use storage: /115
    DEBU[2026-01-10 21:53:30]/Users/sakana/code/OpenList/internal/op/fs.go:134 github.com/OpenListTeam/OpenList/v4/internal/op.Get() op.Get /云下载/Imnailong/Imnailonp4
    DEBU[2026-01-10 21:53:30]/Users/sakana/code/OpenList/internal/op/path.go:27 github.com/OpenListTeam/OpenList/v4/internal/op.GetStorageAndActualPath() use storage: /115
    DEBU[2026-01-10 21:53:30]/Users/sakana/code/OpenList/internal/op/path.go:27 github.com/OpenListTeam/OpenList/v4/internal/op.GetStorageAndActualPath() use storage: /115
    DEBU[2026-01-10 21:53:30]/Users/sakana/code/OpenList/internal/op/fs.go:134 github.com/OpenListTeam/OpenList/v4/internal/op.Get() op.Get /云下载/Imnailong/Imnailonp4
    2026/01/10 21:53:37.713628 DEBUG RESTY

    POST  /open/ufile/downurl  HTTP/1.1
    HOST   : proapi.115.com
    HEADERS:
            Accept-Encoding: gzip, deflate
            Authorization: ********************
            Content-Type: application/x-www-form-urlencoded
            Cookie: acw_tc=ac11000117680530836572288e4246a0830d9dfc05c7e8ecad74fe0a9cf8b8
            User-Agent: okhttp/4.12.0
    BODY   :
    pick_code=a7edciblydlpsh9j9
    ------------------------------------------------------------------------------
    ~~~ RESPONSE ~~~
    STATUS       : 200 OK
    PROTO        : HTTP/1.1
    RECEIVED AT  : 2026-01-10T21:53:37.712933+08:00
    DURATION     : 6.753980208s
    HEADERS      :
            Connection: keep-alive
            Content-Type: application/json; Charset=UTF-8
            Date: Sat, 10 Jan 2026 13:53:39 GMT
            Origin-Agent-Cluster: ?0
            Powered-By-115: HN1_wp-open04
    BODY         :
    {
       "state": true,
       "message": "",
       "code": 0,
       "data": {
          "3338931027429722598": {
             "file_name": "Imnailong.mp4",
             "file_size": 5491415032,
             "url": {
                "url": "https:\/\/cdnfhnfile.115cdn.net\/68f45adf4ea449f9943176d863887c59d8f024b1\/Imnailong.mp4? a lot of params
             }
          }
       }
    }
    ==============================================================================
    DEBU[2026-01-10 21:53:38]/Users/sakana/code/OpenList/server/webdav.go:69 github.com/OpenListTeam/OpenList/v4/server.WebDAVAuth() [webdav auth] token:                         
    [GIN] 2026/01/10 - 21:53:38 | 401 |    1.436417ms |   192.168.1.150 | GET      "/dav/115/云下载/Imnailong/Imnailong.mp4"
    DEBU[2026-01-10 21:53:38]/Users/sakana/code/OpenList/internal/op/path.go:27 github.com/OpenListTeam/OpenList/v4/internal/op.GetStorageAndActualPath() use storage:  /115                           
    DEBU[2026-01-10 21:53:38]/Users/sakana/code/OpenList/internal/op/fs.go:134 github.com/OpenListTeam/OpenList/v4/internal/op.Get() op.Get /云下载/Imnailong/Imnailonp4          
    DEBU[2026-01-10 21:53:38]/Users/sakana/code/OpenList/internal/op/path.go:27 github.com/OpenListTeam/OpenList/v4/internal/op.GetStorageAndActualPath() use storage:  /115                           
    DEBU[2026-01-10 21:53:38]/Users/sakana/code/OpenList/internal/op/path.go:27 github.com/OpenListTeam/OpenList/v4/internal/op.GetStorageAndActualPath() use storage:  /115                           
    ERRO[2026-01-10 21:53:38]/Users/sakana/code/OpenList/server/webdav.go:28 github.com/OpenListTeam/OpenList/v4/server.WebDav.func1() GET /dav/115/云下载/Imnailong/Iilong.mp4 webdav proxy error: context canceled 
    [GIN] 2026/01/10 - 21:53:38 | 206 |  7.501302083s |   192.168.1.150 | GET      "/dav/115/云下载/Imnailong/Imnailong.mp4"
    [GIN] 2026/01/10 - 21:53:40 | 206 |  1.976398625s |   192.168.1.150 | GET      "/dav/115/云下载/Imnailong/Imnailong.mp4"
    DEBU[2026-01-10 21:53:40]/Users/sakana/code/OpenList/server/webdav.go:69 github.com/OpenListTeam/OpenList/v4/server.WebDAVAuth() [webdav auth] token:                         
    [GIN] 2026/01/10 - 21:53:40 | 401 |     374.583µs |   192.168.1.150 | GET      "/dav/115/云下载/Imnailong/Imnailong.mp4"
    DEBU[2026-01-10 21:53:40]/Users/sakana/code/OpenList/internal/op/path.go:27 github.com/OpenListTeam/OpenList/v4/internal/op.GetStorageAndActualPath() use storage:  /115                           
    DEBU[2026-01-10 21:53:40]/Users/sakana/code/OpenList/internal/op/fs.go:134 github.com/OpenListTeam/OpenList/v4/internal/op.Get() op.Get /云下载/Imnailong/Imnailonp4          
    DEBU[2026-01-10 21:53:40]/Users/sakana/code/OpenList/internal/op/path.go:27 github.com/OpenListTeam/OpenList/v4/internal/op.GetStorageAndActualPath() use storage:  /115                           
    DEBU[2026-01-10 21:53:40]/Users/sakana/code/OpenList/internal/op/path.go:27 github.com/OpenListTeam/OpenList/v4/internal/op.GetStorageAndActualPath() use storage:  /115                           
    DEBU[2026-01-10 21:53:40]/Users/sakana/code/OpenList/internal/op/fs.go:134 github.com/OpenListTeam/OpenList/v4/internal/op.Get() op.Get /云下载/Imnailong/Imnailonp4     `     
    
    
    也是疑似由于播放器或者文件浏览器暴力使用接口  
    出现 proxy error: context canceled    
    后续视频播放能等待好久
    不太懂这一块 只能请大佬们帮忙看一下了
    
  3. j2rong4cn commented on Jan 20, 2026

    @j2rong4cn
    Member

    从日志来看没问题,出现context canceled是客户端主动断开了连接

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions