Closed kingname closed 1 year ago
是否如提示一样等待了 30 s 呢?建议先看看浏览器控制台的异常。
可能和这个配置有关:https://uppy.io/docs/xhr-upload/#timeout-30-1000
/triage needs-information
来信已收到,我会尽快回复。
是否如提示一样等待了 30 s 呢?建议先看看浏览器控制台的异常。
可能和这个配置有关:https://uppy.io/docs/xhr-upload/#timeout-30-1000
/triage needs-information
是的,就是这个报错。请问我在哪里可以设置延长这个超时时间呢?
@kingname 先看浏览器控制台的异常和后端的日志才能排查,这并不一定是上传超时了。
@ruibaby 在控制台看了,就是[uppy]报的30秒超时
可以截下图,顺便看看 Network 是否有发起上传请求。
上传附件会有这个问题吗?
不再使用halo,本issue关闭。
此问题目前还没有得到原因和复现,建议保持打开的状态,以便后续使用者继续反馈的跟踪。
感谢 @kingname 的反馈。
/reopen
@ruibaby: Reopened this issue.
我这边也未复现。复现步骤:通过 Good 3G 的网络限流上传 3.1MB 大小的主题,可参考以下截图:
我这里的环境是这样的:
我这里的环境是这样的:
1. 在群晖上面通过Docker搭建Halo 2. 在一台东京的云服务器上面,搭建frp,转发到群晖上 3. 通过nginx创建反向代理到frp对应的端口 4. cloudflare域名解析到云服务器的443端口
建议先通过群晖访问 Halo 安装主题或者插件,看看是否会出现同样的错误。如果没有出现该错误,确认一下反向代理配置是否正确。
我刚刚又在本地通过 Docker 运行测试,仍然没有遇到 30s 超时的问题,测试命令如下:
docker run \
-it -d \
--name halo \
-p 8090:8090 \
-v ~/.halo2:/root/.halo2 \
halohub/halo:2.0.2 \
--halo.external-url=http://localhost:8090/ \
--halo.security.initializer.superadminuser=admin \
--halo.security.initializer.superadminpassword=P@88w0rd
测试结果如下:
https://github.com/halo-sigs/plugin-alioss/issues/13 这边也有个上传超时的issues,不过是在附件上传的时候的,uppy中的上传超时时间可以考虑是否应该调整
我也遇到过安装插件时发生超时错误 具体是在halo刚启动没多久的时候(cpu占用还比较高) 同时我这台测试服务器配置比较低,是azure香港1核1G
@longjuan 但 uppy 的文档说的是请求没有进度才会 timeout,所以怀疑还是因为请求还没有到达服务器,比如由于 Nginx 的大小限制。
我将研究一下如何触发 uppy 的这个异常。
直接在群晖上面使用IP访问的时候,可以正常上传。只有在用域名通过云服务器+nginx+frp转发的时候,才报错。
nginx已经设置过post请求体的大小和超时时间了。用域名访问的时候,除了上传文件,其他功能都是正常的。
@ruibaby 可以使用https://github.com/longjuan/halo-plugin-s3os/actions/runs/3829474290 这里的jar包,我通过Thread.sleep模拟上传文件到对象存储过慢
已经明白了导致这个问题的原因。是因为上传附件或者安装主题插件时,即便文件已经向服务器发送完毕,后端也会继续处理后续的逻辑,如果这个时间超过 uppy 组件设置的 timeout 时间,就会抛出异常(uppy 会检测是否有进度,请参考 https://github.com/transloadit/uppy/blob/83ac000c31bb8bcb806a22ef6a9e06f041e47d8a/packages/%40uppy/xhr-upload/src/index.js#L232-L259)
文件发送到服务器完毕之后会是 100%,这里的 100% 并不代表是服务端已经处理完毕,而是文件发送完毕。
题主的情况应该是上传到服务器之后还要经过 frp,可能是这个阶段的时间造成了这个问题。
可以在 uppy 取消这个 timeout 设置。
@longjuan 提供的测试方式非常容易复现,感谢。
/assign
是什么版本出现了此问题?
2.0.2
使用的什么数据库?
MariaDB
使用的哪种方式部署?
Docker
在线站点地址
No response
发生了什么?
无论是上传附件还是上传主题,都会报图中所示的错误。
相关日志输出
No response
附加信息