archiver stream 直接返回给response  客户端下载无法结束， 我要如何处理呢？
<!--
如果你是新手，请务必仔细阅读：[如何正确的提出一个 Issue](https://github.com/eggjs/egg/issues/3310)。
感谢您向我们反馈问题，为了高效的解决问题，我们期望你能提供以下信息：
-->

## What happens?
<!-- 清晰的描述下遇到的问题。-->
使用archiver生成zip stream， 如果直接返回给response，前端无法正常结束下载， 如果用PassThrough转换后返回给response就没问题， 查了archiver的issue,可能是这个原因， [#161](https://github.com/archiverjs/node-archiver/issues/161)，其中提到的解决方法`proxy_buffering off`我要如何关闭呢
## 最小可复现仓库
> 请使用 `npm init egg --type=simple bug` 创建，并上传到你的 GitHub 仓库
```js
// 这样可以正常工作
const archive = archiver('zip', {
      // Sets the compression level.1最小压缩，耗时短 9最大压缩耗时长
      zlib: { level: 6 }
    });
    // 数据stream
    const flowFile = new PassThrough();
    archive.append(flowFile, { name: 'demo.json' });
    // 最终返回的stream
    const resStream = new PassThrough();
    // pipleline自动处理异常&关闭相关stream
    pipeline(archive, resStream, error => {
      // 如果出错，记录日志
    });

   const header = {
      'content-type': 'application/octet-stream;charset=utf8',
      'content-disposition': `attachment; filename="${encodeURIComponent(
        '数据'
      )}.zip"`
    };
    ctx.set(header);
    ctx.body = resStream;


//  这样无法正常工作
const archive = archiver('zip', {
      // Sets the compression level.1最小压缩，耗时短 9最大压缩耗时长
      zlib: { level: 6 }
    });
    archive.append(flowFile, { name: 'demo.json' });

   const header = {
      'content-type': 'application/octet-stream;charset=utf8',
      'content-disposition': `attachment; filename="${encodeURIComponent(
        '数据'
      )}.zip"`
    };
    ctx.set(header);
    ctx.body = archive;
```
<!-- https://github.com/YOUR_REPOSITORY_URL -->

## 复现步骤，错误日志以及相关配置

<!-- 请提供复现步骤，错误日志以及相关配置 -->
<!-- 可以尝试不要锁版本，重新安装依赖试试先 -->


## 相关环境信息
- **操作系统**：windows
- **Node 版本**：16.13.2
- **Egg 版本**：2.30.0
