SSE流式输出Nginx缓冲配置
SSE流式输出的过程中,如果采用Nginx进行反向代理,在某些情况下会出现无法实现流式返回,而是一次性返回。主要原因是因为Nginx的配置中并没有禁用缓存响应。
在处理SSE请求时,你需要确保Nginx不会缓冲或者阻断流式响应。
以下是一个适用于SSE的Nginx配置示例:
location /chat { proxy_pass http://172.17.0.1:9090; proxy_http_version 1.1; proxy_set_header Connection ''; proxy_set_header Host $host; proxy_cache off; # 关键配置 proxy_buffering off; proxy_set_header X-Real-IP $remote_addr; }
这里的关键是proxy_buffering off;
,这将禁止Nginx缓冲响应,以便可以立即发送到客户端,从而实现流式传输。
另外,如果你使用了SSL/TLS加密(HTTPS),你可能还需要添加 proxy_ssl_session_reuse off;
来防止SSL/TLS会话重用导致的问题。
关注公众号:程序新视界,一个让你软实力、硬技术同步提升的平台
除非注明,否则均为程序新视界原创文章,转载必须以链接形式标明本文链接