Go
gin 服务端无法使用sse流式&nginx配置
gin 服务端无法使用sse流式&nginx配置
最近接了一个私活,主要是用gin写一个接口,通过调取Gemini流协议并返回流协议给前端,我在本地调试到时候发现是可以正常返回流协议,但是部署到服务器上之后,发现返回到流协议像是一次性返回,我最开始是怀疑是服务器的代码有问题,检查了代码发现是最新的,然后又尝试通过ip+端口形式进行访问,同样是可以正常返回流协议,所以我猜测是nginx配置有问题,最终经过修改nginx配置,最后实现,下面跟大家介绍配置方法
在我们原有的nginx配置中加入这一个配置
location /gemini { proxy_pass http://127.0.0.1:8080; # Gin 应用的地址和端口 proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_buffering off; # 禁用缓冲 proxy_read_timeout 300; # 设置读取超时时间 }
gemini是我这个请求返回流协议的端口名字,大家可以根据自己的接口名称自行修改,然后是关于这一段
proxy_pass http://127.0.0.1:8080;
如果你的gin访问端口是8080,就改成这样8080,如果不是的话,请自行改成自己的服务对应端口,然后便是我的gin是用docker部署的,我这里就不填127.0.0.1,我这里是改成了自己的服务器内网IP。
最后,便是重新加载nginx配置,通过访问发现可以正常输出流模式了,下面给大家贴出效果图
0条评论