我是自己的项目在本地上运行的时候正常,但是挂在服务器上的时候就出现了sse问题,打开控制台发现只有预览没有响应。然后就去nginx的项目中配置,但是我建议你们,如果可以还是单独做个转发如下。不要直接将整个项目的接口都设置为sse模式。
我在这里具体讲讲关于sse的配置语句,其他的就不讲了。
- 关闭缓存:为了确保SSE正常工作,需要禁用Nginx的缓存功能。通过
proxy_buffering off;
和proxy_cache off;
设置来关闭缓存。 - 设置连接升级:SSE需要使用持续连接,因此需要设置
Upgrade
和Connection
请求头。确保配置中包含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; }
到此这篇关于nginx中配置sse的方法示例的文章就介绍到这了,更多相关nginx 配置sse内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!