我试图使用adminjs仪表板中的40mbs+特性将文件( s3 )上传到s3。
当我在localhost上测试时,它会上传大部分这些文件,没有任何问题,但是上传需要很长的时间。但是,当我在AWS EC2上尝试部署的版本时,我会得到以下错误。
Error: Request aborted
at IncomingMessage.<anonymous> (/home/ubuntu/elearning-system-backend/node_modules/formidable/lib/incoming_form.js:122:19)
at IncomingMessage.emit (node:events:513:28)
at IncomingMessage.emit (node:domain:489:12)
at IncomingMessage._destroy (node:_http_incoming:224:10)
at _destroy (node:internal/streams/destroy:109:10)
at IncomingMessage.destroy (node:internal/streams/destroy:71:5)
at abortIncoming (node:_http_server:700:9)
at socketOnClose (node:_http_server:694:3)
at TLSSocket.emit (node:events:525:35)
at TLSSocket.emit (node:domain:489:12)我试图解决这个问题的东西,
1-我在github上读过一些问题,指出使用具有强大功能的some解析器有时会产生这个问题,但是当我删除它时,没有什么改变。
增加超时时间也没有什么帮助。3-我读过一个叫做“无服务器强大”的软件包,但是我不知道在哪里使用它,因为管理员内部使用强大。
怎样才能解决这个问题?
我正在使用的版本
Node.js: 18.7.0
@adminjs/express: "^5.0.0",
@adminjs/mongoose: "^3.0.0",
@adminjs/passwords: "^3.0.0",
@adminjs/upload: "^3.0.0",
adminjs: "^6.0.1",发布于 2022-08-13 11:45:47
我已经知道问题出在哪里,服务器在文件上传之前就超时了,我的解决方案是延长服务器本身的超时时间和http请求,直到文件能够上传为止。然而,,,这并不是真正的推荐,因为这可能会使网站容易受到攻击。这只是一个暂时的解决办法。另一种解决方案是使用socket.io,我还没有尝试过,但我计划这样做。
延长时间:
server.timeout = 25 * 60000;
server.headersTimeout = 25*60000;
server.keepAliveTimeout = 25 * 60000;https://stackoverflow.com/questions/73278725
复制相似问题