前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Nginx配置支持SSE流式返回

Nginx配置支持SSE流式返回

作者头像
Lcry
发布2024-07-17 11:06:30
1.3K1
发布2024-07-17 11:06:30
举报
文章被收录于专栏:Lcry个人博客

最近通过springboot对接one-api实现类似于chatgpt的打字机效果,后端采用sse的方式,自己本地使用postman直接调用后端服务完全正常,但是部署到服务器上通过nginx就是一口气直接返回,最后查了下发现是需要在nginx上配置一下才支持流式返回,特此记录一下备忘。

什么是 SSE?

SSE 是一种让服务器能主动给浏览器发送数据的技术。通常,我们的网站都是浏览器去服务器请求数据,但有时候我们希望服务器能主动告诉浏览器一些新的信息,比如实时更新的股票价格、聊天消息等,这时候就用到了 SSE。

nginx配置支持sse

nginx直接新增如下配置:

代码语言:javascript
复制
            # 设置 Nginx 不对 SSE 响应进行缓冲,直接透传给客户端
            proxy_buffering off;

当然你还要配置连接超时等配置可以参考下面这份配置:

代码语言:javascript
复制
http {
    ...

    server {
        ...

        location /sse {
            proxy_http_version 1.1;
            proxy_set_header Connection "";
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header Host $host;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

            # SSE 连接时的超时时间
            proxy_read_timeout 86400s;
            
            # 取消缓冲
            proxy_buffering off;

            # 关闭代理缓存
            proxy_cache off;
            
            # 禁用分块传输编码
            #chunked_transfer_encoding off
            
            # 反向代理到 SSE 应用的地址和端口
            proxy_pass http://backend-server;
        }

        ...
    }

    ...
}

参考链接

nginx 转发Tcp、WebSocket、SSE配置 大模型流式输出 sse实现时,如何配置nginx 使用Nginx配置反向代理处理SSE请求

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-05-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 什么是 SSE?
  • nginx配置支持sse
  • 参考链接
相关产品与服务
云服务器
云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档