AlistGo / AlistGo/alist

8并发获取移动云盘文件夹信息时报错签名校验失败

Open
#7,863 1 comment 0 reactions 0 assignees View on GitHub
bug
Dominant language
Go
Stars
50.2k
Forks
7.9k
Avg merge
7d 21h
Merged PRs (30d)
6

Description

### Please make sure of the following things

- [x] I have read the [documentation](https://alist.nn.ci).
我已经阅读了[文档](https://alist.nn.ci)。

- [x] I'm sure there are no duplicate issues or discussions.
我确定没有重复的issue或讨论。

- [x] I'm sure it's due to `AList` and not something else(such as [Network](https://alist.nn.ci/faq/howto.html#tls-handshake-timeout-read-connection-reset-by-peer-dns-lookup-failed-connect-connection-refused-client-timeout-exceeded-while-awaiting-headers-no-such-host) ,`Dependencies` or `Operational`).
我确定是`AList`的问题,而不是其他原因(例如[网络](https://alist.nn.ci/zh/faq/howto.html#tls-handshake-timeout-read-connection-reset-by-peer-dns-lookup-failed-connect-connection-refused-client-timeout-exceeded-while-awaiting-headers-no-such-host),`依赖`或`操作`)。

- [x] I'm sure this issue is not fixed in the latest version.
我确定这个问题在最新版本中没有被修复。

### AList Version / AList 版本

v3.33.0 & v3.41.0均存在此问题

### Driver used / 使用的存储驱动

移动云盘

### Describe the bug / 问题描述

说明:我并不清楚此问题是否是alist产生的。如果这不是alist的问题,请帮助我关闭此issue。

---
我正在使用webdav从北京移动、Windows平台的alist获取移动云盘的文件夹信息,但是在获取期间频繁出现签名校验失败报错(并不是每一个文件夹都获取失败,可能是触发了qps限制)。我尝试在重庆联通的Linux机器使用相同的并发从alist(v3.37.2)获取相同的文件夹,并未发现任何报错。我不确定这是移动云盘的QPS限制还是alist的问题。我确定这不是网络问题。

~~我不认为这属于高并发~~

### Reproduction / 复现链接

这是一个奇怪的问题,我也不清楚应该如何复现,如果需要我提供alist地址进行测试,请联系QQ2596628651

### Config / 配置

![Image](https://github.com/user-attachments/assets/674d8fdd-29aa-45be-bac5-929fc11c66b6)

### Logs / 日志

```
ERRO[2025-01-23 08:47:53] PROPFIND /dav/139/openbmclapi/download/81/ 签名校验失败
failed to list objs
github.com/alist-org/alist/v3/internal/op.List.func1
/source/internal/op/fs.go:127
github.com/alist-org/alist/v3/pkg/singleflight.(*Group[...]).doCall.func2
/source/pkg/singleflight/singleflight.go:193
github.com/alist-org/alist/v3/pkg/singleflight.(*Group[...]).doCall
/source/pkg/singleflight/singleflight.go:195
github.com/alist-org/alist/v3/pkg/singleflight.(*Group[...]).Do
/source/pkg/singleflight/singleflight.go:108
github.com/alist-org/alist/v3/internal/op.List
/source/internal/op/fs.go:124
github.com/alist-org/alist/v3/internal/fs.list
/source/internal/fs/list.go:25
github.com/alist-org/alist/v3/internal/fs.List
/source/internal/fs/fs.go:22
github.com/alist-org/alist/v3/server/webdav.walkFS
/source/server/webdav/file.go:89
github.com/alist-org/alist/v3/server/webdav.(*Handler).handlePropfind
/source/server/webdav/webdav.go:681
github.com/alist-org/alist/v3/server/webdav.(*Handler).ServeHTTP
/source/server/webdav/webdav.go:76
github.com/alist-org/alist/v3/server.ServeWebDAV
/source/server/webdav.go:46
github.com/gin-gonic/gin.(*Context).Next
/go/pkg/mod/github.com/gin-gonic/gin@v1.9.1/context.go:174
github.com/alist-org/alist/v3/server.WebDAVAuth
/source/server/webdav.go:113
github.com/gin-gonic/gin.(*Context).Next
/go/pkg/mod/github.com/gin-gonic/gin@v1.9.1/context.go:174
github.com/alist-org/alist/v3/server/middlewares.StoragesLoaded
/source/server/middlewares/check.go:14
github.com/gin-gonic/gin.(*Context).Next
/go/pkg/mod/github.com/gin-gonic/gin@v1.9.1/context.go:174
github.com/gin-gonic/gin.CustomRecoveryWithWriter.func1
/go/pkg/mod/github.com/gin-gonic/gin@v1.9.1/recovery.go:102
github.com/gin-gonic/gin.(*Context).Next
/go/pkg/mod/github.com/gin-gonic/gin@v1.9.1/context.go:174
github.com/gin-gonic/gin.LoggerWithConfig.func1
/go/pkg/mod/github.com/gin-gonic/gin@v1.9.1/logger.go:240
github.com/gin-gonic/gin.(*Context).Next
/go/pkg/mod/github.com/gin-gonic/gin@v1.9.1/context.go:174
github.com/gin-gonic/gin.(*Engine).handleHTTPRequest
/go/pkg/mod/github.com/gin-gonic/gin@v1.9.1/gin.go:620
github.com/gin-gonic/gin.(*Engine).ServeHTTP
/go/pkg/mod/github.com/gin-gonic/gin@v1.9.1/gin.go:576
net/http.serverHandler.ServeHTTP
/usr/local/go/src/net/http/server.go:2938
net/http.(*conn).serve
/usr/local/go/src/net/http/server.go:2009
runtime.goexit
/usr/local/go/src/runtime/asm_amd64.s:1650
failed get objs
[GIN] 2025/01/23 - 08:47:53 | 404 | 2.5576039s | 127.0.0.1 | PROPFIND "/dav/139/openbmclapi/download/81/"
```
正常获取的文件夹是这样的

```
[GIN] 2025/01/23 - 08:47:53 | 207 | 6.5741169s | 127.0.0.1 | PROPFIND "/dav/139/openbmclapi/download/78/"
[GIN] 2025/01/23 - 08:47:54 | 207 | 6.1548462s | 127.0.0.1 | PROPFIND "/dav/139/openbmclapi/download/79/"
[GIN] 2025/01/23 - 08:47:54 | 207 | 5.6371587s | 127.0.0.1 | PROPFIND "/dav/139/openbmclapi/download/7a/"
[GIN] 2025/01/23 - 08:47:54 | 207 | 5.4251351s | 127.0.0.1 | PROPFIND "/dav/139/openbmclapi/download/7b/"
[GIN] 2025/01/23 - 08:47:54 | 207 | 5.4333962s | 127.0.0.1 | PROPFIND "/dav/139/openbmclapi/download/7c/"
[GIN] 2025/01/23 - 08:47:55 | 207 | 5.6358843s | 127.0.0.1 | PROPFIND "/dav/139/openbmclapi/download/7d/"
[GIN] 2025/01/23 - 08:47:55 | 207 | 6.0682893s | 127.0.0.1 | PROPFIND "/dav/139/openbmclapi/download/7e/"
[GIN] 2025/01/23 - 08:47:56 | 207 | 0s | 127.0.0.1 | PROPFIND "/dav/139/openbmclapi/download"
[GIN] 2025/01/23 - 08:47:57 | 207 | 8.1960082s | 127.0.0.1 | PROPFIND "/dav/139/openbmclapi/download/7f/"
[GIN] 2025/01/23 - 08:47:59 | 207 | 8.6315991s | 127.0.0.1 | PROPFIND "/dav/139/openbmclapi/download/80/"
[GIN] 2025/01/23 - 08:47:59 | 201 | 2.7188477s | 127.0.0.1 | PUT "/dav/139/openbmclapi/download\\.check"
[GIN] 2025/01/23 - 08:47:59 | 204 | 96.713ms | 127.0.0.1 | DELETE "/dav/139/openbmclapi/download\\.check"
[GIN] 2025/01/23 - 08:48:08 | 201 | 2.9127251s | 127.0.0.1 | PUT "/dav/139/openbmclapi/download\\.check"
[GIN] 2025/01/23 - 08:48:08 | 204 | 99.8485ms | 127.0.0.1 | DELETE "/dav/139/openbmclapi/download\\.check"
[GIN] 2025/01/23 - 08:48:08 | 207 | 1.3664ms | 127.0.0.1 | PROPFIND "/dav/139/openbmclapi/download/"
[GIN] 2025/01/23 - 08:48:13 | 207 | 5.5781439s | 127.0.0.1 | PROPFIND "/dav/139/openbmclapi/download/00/"
[GIN] 2025/01/23 - 08:48:14 | 207 | 5.6184304s | 127.0.0.1 | PROPFIND "/dav/139/openbmclapi/download/08/"
[GIN] 2025/01/23 - 08:48:14 | 207 | 5.8354822s | 127.0.0.1 | PROPFIND "/dav/139/openbmclapi/download/06/"
[GIN] 2025/01/23 - 08:48:14 | 207 | 5.9242266s | 127.0.0.1 | PROPFIND "/dav/139/openbmclapi/download/07/"
[GIN] 2025/01/23 - 08:48:14 | 207 | 5.9762961s | 127.0.0.1 | PROPFIND "/dav/139/openbmclapi/download/09/"
[GIN] 2025/01/23 - 08:48:14 | 207 | 5.9776802s | 127.0.0.1 | PROPFIND "/dav/139/openbmclapi/download/03/"
[GIN] 2025/01/23 - 08:48:14 | 207 | 5.9932635s | 127.0.0.1 | PROPFIND "/dav/139/openbmclapi/download/05/"
[GIN] 2025/01/23 - 08:48:14 | 207 | 6.0175402s | 127.0.0.1 | PROPFIND "/dav/139/openbmclapi/download/02/"
[GIN] 2025/01/23 - 08:48:14 | 207 | 6.0392505s | 127.0.0.1 | PROPFIND "/dav/139/openbmclapi/download/01/"
[GIN] 2025/01/23 - 08:48:14 | 207 | 6.1290807s | 127.0.0.1 | PROPFIND "/dav/139/openbmclapi/download/04/"
```

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.