nginx转发到webman问题(webman BUG)

webmanchin

问题描述

主服务器配置转发到子机webman 返回数据错误
实测500kb大小文件没有任何问题, 可以下载
但是3MB的文件就不行了 chrome浏览器直接下载未完成
使用curl方式 去获取 只能读到2MB大小

如果将主服务器nginx转发到子机nginx 6MB大小的文件都没问题
所以判断结论是webman的问题

主服务器nginx配置

location / {
    proxy_redirect off;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_pass http://10.0.0.102:8787;
}

程序代码或配置

return response()->download(public_path() . '/files/'.$fileName, $fileName);

操作系统环境及workerman/webman等具体版本

Workerman version:4.1.10 PHP version:8.2.5

1147 3 2
3个回答

tanhongbin

应该是 nginx 代理 缺少 keepalive 10240; 长链接的问题

ersic

不转发直接访问下载试试呢,我本地试了一个2m以上的,没啥问题

meows


超过2MB的文件,每次都是1MB这样发送的,这样会发送很多次,连接就需要长时间存在。
2MB以下文件,都是一次性发送过去的。

  • 暂无评论
年代过于久远,无法发表回答
×
🔝