nginx 返回长度限制

✅ 解决步骤(立即可用)
🔧 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="..." /> 可以正确显示二维码图片

0

版权声明 ▶ 本网站名称:我的学习笔记
▶ 本文链接:https://ooolo.net/article/621.html
▶ 本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长进行核实删除。
▶ 转载本站文章需要遵守:商业转载请联系站长,非商业转载请注明出处!!!

none
最后修改于:2025年05月21日 15:14

添加新评论

icon_mrgreen.pngicon_neutral.pngicon_twisted.pngicon_arrow.pngicon_eek.pngicon_smile.pngicon_confused.pngicon_cool.pngicon_evil.pngicon_biggrin.pngicon_idea.pngicon_redface.pngicon_razz.pngicon_rolleyes.pngicon_wink.pngicon_cry.pngicon_surprised.pngicon_lol.pngicon_mad.pngicon_sad.pngicon_exclaim.pngicon_question.png