Monitor监控Nginx 的EventSource 事件支持

Monitor监控Nginx 的EventSource 事件支持

一般来说我们的Nginx配置都是如下所示,普通接口没有问题


upstream dev_upstream { server 127.0.0.1:9292; } server { listen 80; server_name chat.dev; location / { proxy_pass http://dev_upstream; proxy_buffering off; proxy_cache off; proxy_set_header Host $host; } }

这个时候如果你搭建SpringbootAdmin监控发现日志没有办法正常滚动且提示日志失败。

image

症状如下,EventSource类型的请求卡住了

image

你的Nginx配置是正确的, 你只是错过了几行配置.

这是一个EventSource通过Nginx工作的”魔术三重奏” :

proxy_set_header Connection '';
proxy_http_version 1.1;
chunked_transfer_encoding off; 
proxy_buffering off;
proxy_cache off;

最终更变配置如下

location / { 
   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_set_header X-Forwarded-Proto $scheme;
   proxy_pass http://192.168.12.173:30080; 
   proxy_http_version 1.1; 
   proxy_set_header Connection ''; 
   chunked_transfer_encoding off;
   proxy_buffering off;
   proxy_cache off;
}

monitor正常刷日志了

image

来源: 雨林博客(www.yl-blog.com)