nginx 返回长度限制
作者:admin
分类:随笔
字数:923
阅读:38
✅ 解决步骤(立即可用)
🔧 1. 修改 Nginx 配置
请打开你的 Nginx 配置文件,例如 /etc/nginx/nginx.conf 或某个 conf.d/*.conf 文件中的 location 块,加入或调整以下内容:
location /api/ {
proxy_pass http://backend;
# 以下是关键配置,必须加大 buffer 空间:
proxy_buffer_size 128k;
proxy_buffers 4 256k;
proxy_busy_buffers_size 256k;
proxy_temp_file_write_size 256k;
# 可选,允许较大的响应头和体
client_max_body_size 10m;
}
🔁 2. 重启或重载 Nginx
nginx -t && nginx -s reload
✅ 额外说明
📌 为什么会截断?
虽然 base64 是放在 body 里,但:
Nginx 会把整个后端响应(包括 body)先缓存在它自己的 proxy buffer 中;
如果 body 太大,而 Nginx 缓冲区太小,就会出现响应体被截断;
这时前端就拿不到完整的 base64 字符串。
🔍 如何确认已经解决?
后端原始返回长度(例如 40 KB)
前端 Network 面板中,点开该接口,确认 Response 是完整的
控制台或 <img src="..." /> 可以正确显示二维码图片
微信打赏
支付宝打赏