I have a small web application that runs on shared Apache hosting and uses FastCGI (mod_fcgi) and server-sent events (SSE).
In order to make SSE, we needed to set FcgidOutputBufferSize=0 for the virtual host on the server. Because SSE protocol needs all events to be sent immediately, without buffering.
But after an upgrade of the server to Apache v2.4.27 and the protocol to HTTP/2.0 the SSE stream stopped to be sent properly, but in big blocks with huge pauses between them, until enough events are collected to make big enough package.
It seems that switching to HTTP/2.0 activated some kind of buffering that delays the stream.
If I force my browser to use only HTTP/1.1 everything works as before.
The hosting provider claims he can't fix this problem, because it will need switching back to HTTP/1.1 and he is not willing to do so.
So, is it some fundamental incompatibility between SSE and HTTP/2.0 or there are some settings that can be changed in order to make it work?
Or some header that the application can send in order to force Apache not to buffer? (for example, nginx needs x-accel-buffering: no in order to work properly with SSE).