之前写的SSE在项目中得到应用使用,代替了传统的轮询方式。

但是在实际操作过程中,SSE的使用确遇到一些问题。

1、部署的时候:NG转发的端口死活不响应!这是NG必须对此接口单独设置处理(主要是为了不影响其他业务接口)

2、认证问题,接口开启拦截器后,默认的SSE请求是不会携带认证信息的。经过GPT4的帮助下:SSE只支持在URL参数中携带认证信息,(前端H5默认)不支持 请求Header 放内容!所以这是SSE在真正应用时的缺点!

下文是NGINX支持SSE接口的配置

location /SSE接口路径 {
		# 代理设置
		proxy_pass http://abc.com:9527; # 你的后端服务器地址
		proxy_set_header Connection '';
		proxy_http_version 1.1;
		proxy_buffering off;
		proxy_cache off;
		# 超时设置
		proxy_read_timeout 24h;
		proxy_connect_timeout 24h;
		proxy_send_timeout 24h;
		# CORS设置 - 根据需要调整
		add_header 'Access-Control-Allow-Origin' '*' always;
		add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS' always;
		add_header 'Access-Control-Allow-Headers' 'Origin, X-Requested-With, Content-Type, Accept' always;
		if ($request_method = 'OPTIONS') {
			return 204;
		}
	}
特殊说明:
上述文章均是作者实际操作后产出。烦请各位,请勿直接盗用!转载记得标注原文链接:www.zanglikun.com
第三方平台不会及时更新本文最新内容。如果发现本文资料不全,可访问本人的Java博客搜索:标题关键字。以获取最新全部资料 ❤