tickstep / aliyunpan

阿里云盘命令行客户端,支持JavaScript插件,支持同步备份功能。
Apache License 2.0
4.08k stars 350 forks source link

WebDAV无法访问内容 #252

Open lxy85034 opened 1 year ago

lxy85034 commented 1 year ago

版本:2.6.0 在最新版本下,开启WebDAV,在经过一段时间之后,会无法访问WebDAV的网盘内容。查看运行输出报: http: superfluous response.WriteHeader call from golang.org/x/net/webdav.(*Handler).ServeHTTP (webdav.go:74) WebDAV经过重启后可恢复访问 refreshtoken每小时刷新一次

duaiba86 commented 1 year ago

是不是也可以在有网盘访问的时候即webdav端口握手时刷新token.

lxy85034 commented 1 year ago

目前是通过定时任务来刷新refreshtoken,在webdav无法访问的时候,通过命令行访问aliyunpan是可以看到文件列表的。所以此时token应该还是有效的。而且只重启webdav就可以修复。

duaiba86 commented 1 year ago

/etc/alilyunpan/ 下的一个config 文件里有一个7200的定期,更改这个值是不是可以缩短刷新周期,从而确保云盘一直在线。

duaiba86 commented 1 year ago

@lyx85034 您是不是在webdav无法访问的时候,用cli新打开一个进程?这个aliyunpan程序应该有两个功能,一个是建立阿里云连接,再一个提供一个webdav服务。因此在您新打开一个进程的时候就相当于重启了aliyunpan程序,重新建立了阿里云连接。

lxy85034 commented 1 year ago

现在我的webdav就无法访问了,但是我用cli访问aliyunpan,可以获取文件列表,并且可以下载文件。文件也正常打开,但是webdav还是无法使用。日志如下 图片

duaiba86 commented 1 year ago

您现在打开一个新的终端,在新终端中用ps -axf |grep aliyun 看会发现有两个aliyunpan 进程,一个是呆掉的具有webdav功能的进程,另一个是您刚刚打开的检测进程。

lxy85034 commented 1 year ago

我看了下,我本地并没有cli的进程,只有webdav和一个我在docker上跑的aliyunpan sync容器不清楚会不会有影响 图片

duaiba86 commented 1 year ago

您现在显示的三个进程都是aliyunpan的。一个是webdav 一个是sync 一个是验证验证进程。

duaiba86 commented 1 year ago

重启电脑,把aliyunpan mount 上,然后同时打开一个终端,运行aliyunpan 做对照,若该小时后,如果 mount 的网盘无法访问了,而终端里的云盘还能够访问,那么就是webdav的问题了。

LinYF0 commented 1 year ago

我docker也是同样的报错。运行一段时间后报http: superfluous response.WriteHeader call from golang.org/x/net/webdav.(*Handler).ServeHTTP (webdav.go:74),重启容器后正常运行一段时间后就又出现了。有解决方法了吗

trulyliu commented 1 year ago

我的也是这个问题

trulyliu commented 1 year ago

我的也是这个问题