当前位置: 首页 > news >正文

解决nginx代理SSE接口的响应没有流式返回

目录

  • 现象
  • 原来的nginx配置
  • 解决

现象

前后端分离的项目,前端访问被nginx反向代理的后端SSE接口,预期是流式返回,但经常是很久不响应,一响应全部结果一下子都返回了。查看后端项目的日志,响应其实是流式产生的。推测是nginx配置问题

原来的nginx配置

server {listen 5909;listen [::]:5909;server_name localhost;location /multi-aiDemo2/ {proxy_pass http://。。。。;proxy_set_header Host $http_host; #后台可以获取到完整的ip+端口号proxy_set_header X-Real-IP $remote_addr; #后台可以获取到用户访问的真实ip地址client_max_body_size 20m;}location / {alias /home/wlsj/aiFront/aiDemo2/;index index.html;}}

解决

亲测使用proxy_http_version 1.1 或者 proxy_buffering off 都可以。我最后使用的是proxy_buffering off ,因为感觉它更贴合我的目的:
在这里插入图片描述
相关文档解释:
https://stackoverflow.com/a/13673298
https://nginx.org/en/docs/http/ngx_http_upstream_module.html#keepalive:

it is necessary to enable keepalive connections to upstream servers. The proxy_http_version directive should be set to “1.1” and the “Connection” header field should be cleared

文心一言对proxy_buffering off的解释:

启用与禁用代理缓冲
启用(默认行为):当 proxy_buffering 设置为 on(或者没有明确设置,因为 on 是默认值)时,Nginx 会将来自上游服务器的响应内容缓存在本地内存中,直到整个响应体被接收完毕或者达到了 proxy_buffers 和 proxy_buffer_size 指令所指定的缓冲区大小限制。这样做的好处是可以减少与上游服务器的交互次数,提高响应速度,并允许 Nginx 对响应内容进行一些处理(如 gzip 压缩)后再发送给客户端。

禁用(proxy_buffering off;):当设置为 off 时,Nginx 会将来自上游服务器的响应内容直接发送给客户端,而不会进行本地缓存。这意味着客户端会更快地开始接收数据,特别是对于那些需要快速开始接收响应首部的场景(如流媒体或实时数据服务)很有用。但是,这也可能导致客户端的响应时间更加依赖于上游服务器的响应速度和稳定性,因为 Nginx 不再对响应进行本地缓冲和预处理。

http://www.lryc.cn/news/440991.html

相关文章:

  • 11 - TCPClient实验
  • React框架搭建,看这一篇就够了,看完你会感谢我
  • 【rust】rust条件编译
  • 一键文本提示实现图像对象高质量剪切与透明背景生成
  • 游戏客服精华回复快捷语大全
  • 国内版Microsoft Teams 基础版部署方案
  • 计算机网络 ---- OSI参考模型TCP/IP模型
  • 在Windows环境下部署Java的Web项目集成工具的整体流程和详细步骤
  • 9.18作业
  • 【算法】滑动窗口—最小覆盖子串
  • “Fast-forward“ in git-pull result
  • Oracle(133)如何创建表空间(Tablespace)?
  • Linux中权限和指令
  • 本地镜像发布到阿里云
  • 【Linux】【Vim】Vim 基础
  • 计算机人工智能前沿进展-大语言模型方向-2024-09-18
  • ubuntu24安装vivado24(安装并解决若干错误)
  • CSS实现文本溢出省略号或完整显示
  • three.js PropertyBinding和PropertyMixer
  • ssh远程连接try1账号切换tips
  • C++之第十二课
  • Linux硬连接、软连接和复制的区别
  • 基于STM32的无人小车自主避障系统设计
  • 杂牌鼠标侧键设置
  • Android WebView H5 Hybrid 混和开发
  • 智源推出下一代检索增强大模型框架MemoRAG
  • 【AprilTag】视觉定位实战 | 使用 ROS 驱动的 USB 摄像头进行相机标定与 AprilTag 识别
  • [数据集][目标检测]俯拍航拍森林火灾检测数据集VOC+YOLO格式6116张2类别
  • windows10下tomcat安装及配置教程
  • Spring MVC设置请求头和响应头的Header