EventStream流式传输:sse在nginx中如何配置!

善逸213 2024-07-22 12:07:02 阅读 79

我是自己的项目在本地上运行的时候正常,但是挂在服务器上的时候就出现了sse问题,打开控制台发现只有预览没有响应。然后就去nginx的项目中配置,但是我建议你们,如果可以还是单独做个转发如下。不要直接将整个项目的接口都设置为sse模式。

我在这里具体讲讲关于sse的配置语句,其他的就不讲了。

关闭缓存:为了确保SSE正常工作,需要禁用Nginx的缓存功能。通过 <code>proxy_buffering off; 和 proxy_cache off;设置来关闭缓存。

设置连接升级:SSE需要使用持续连接,因此需要设置UpgradeConnection请求头。确保配置中包含 Upgrade $http_upgrade; 和 Connection 'upgrade';

调整超时设置:确保设置适当的超时时长,以避免SSE连接时间过短导致异常。您可以根据需要调整 proxy_connect_timeout 和 proxy_read_timeout 等设置。

 

location / {

proxy_pass http://127.0.0.1:8100;

proxy_set_header Host $http_host;

proxy_set_header X-Real-IP $remote_addr;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

proxy_set_header Connection '';

proxy_http_version 1.1; # 重要:确保使用HTTP/1.1协议

proxy_set_header Upgrade $http_upgrade;

proxy_set_header Connection 'upgrade';

# 添加以下配置以处理SSE

proxy_buffering off;

proxy_cache off;

}



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。