美文网首页
Nginx反向代理配置流式响应

Nginx反向代理配置流式响应

作者: 天問_专注于大前端技术 | 来源:发表于2023-08-20 11:06 被阅读0次

Nginx 是通过缓存响应内容来处理请求的。也就是说,当 Nginx 接收到完整的响应后,才会将其发送给客户端,所以默认不支持流式响应,这里讲讲 Nginx 反向代理中怎么配置流式响应?

Nginx 流式响应

一、使用背景

最近使用 Egg.js 搭建自动化部署服务,其中有个地方需要开启一个子进程执行 shell 脚本,因为脚本中有大量耗时任务,如:build 编译打包,zip 文件压缩,unzip 解压等等。
为了将脚本每一步的执行日志信息返回到前端进行展示,所以就选择使用流式接口返回结果。
在本地 localhost 环境可以正常进行流式响应,但是发布到 CentOS 服务器上使用 Nginx 反向代理后,每次都是等待脚本全部执行完,才会一次性返回所有结果信息,这显然不是 stream 流式响应。

stream 其他使用场景:像是 ChatGPT 这类 AI 产品,在聊天时的 打字机效果,就是 stream 流式响应的一种实现。

二、nginx配置流式响应

关闭响应缓存:proxy_buffering off

location /api {
    proxy_buffering off; # 关闭响应缓存,添加这一行
    proxy_pass http://127.0.0.1:7001;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}

欢迎访问:天问博客

相关文章

  • Nginx应用场景

    反向代理,负载均衡,动静分离 1.反向代理 修改nginx配置,并重新加载 重新加载nginx配置./nginx ...

  • 01-nginx前端方向代理

    前端反向代理 1.下载nginx 2. 配置nginx.conf反向代理

  • nginx

    nginx的配置、虚拟主机、负载均衡和反向代理一nginx的配置、虚拟主机、负载均衡和反向代理二nginx的配置、...

  • nginx反向代理

    什么是反向代理 如何实现反向代理 准备工作以及安装nginx 配置nginx nginx的初始配置文件去掉注释后的...

  • nginx 配置

    nginx 多个 root页面配置 反向代理

  • 第二课 nginx+tomcat集群

    正向代理,反向代理 配置Nginx 配置文件目录:/usr/local/nginx-1.6.1/conf/ngin...

  • nginx+tomcat集群

    正向代理,反向代理 配置Nginx 配置文件目录:/usr/local/nginx-1.6.1/conf/ngin...

  • nginx+tomcat集群

    正向代理,反向代理 配置Nginx 配置文件目录:/usr/local/nginx-1.6.1/conf/ngin...

  • Nginx 负载均衡/反向代理配置

    反向代理: 修改nginx配置nginx.conf文件: 在location /{ #...

  • Nginx系列10:nginx的反向代理配置

    1. 理解什么是反向代理 关于反向代理的概念可以参考上一篇文章《Nginx系列9:nginx正反向代理概念与配置》...

网友评论

      本文标题:Nginx反向代理配置流式响应

      本文链接:https://www.haomeiwen.com/subject/nvysmdtx.html