AlistGo / AlistGo/alist

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

Abierto
#7,863 1 comentario 0 reacciones 0 asignados Ver en GitHub
bug
Lenguaje dominante
Go
Estrellas
50.2k
Forks
7.9k
Merge medio
7 d 21 h
PR fusionados (30 d)
6

Descripción

### 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/"
```

Guía de contribución

Abrir la guía de contribución

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.