Rocket "breaks" apache reload on reverse proxy


Server Setup Information

  • Version of Rocket.Chat Server: 3.5.4
  • Operating System: Ubuntu 18.04
  • Deployment Method: tar
  • Number of Running Instances: 1
  • DB Replicaset Oplog:
  • NodeJS Version: 12.16.2
  • MongoDB Version: 4.0.18
  • Proxy: apache 2.4.29
  • Firewalls involved: opnsense

Any additional Information

I have a rocket chat server running behind an apache reverse proxy (that serves multiple other servers) and which I’ve set like described here:

The problem I’m having is that when I change the apache configuration on the proxy, like adding a vhost for a new server, I reload the apache config with apache2ctl graceful and normally this would send a signal to workers to reload the new config if they don’t have an active connection or wait until that connection is finished and then reload the config. But with rocket, I believe because it uses websockets, the connection always remains established if the user still has a tab with rocket open and this creates a config discrepancy between the apache workers. So some of the requests going through the reverse proxy will be handled by the worker stuck with an old apache config.

My question, is there a way to make either the apache reverse proxy or rocket to reload the users connections periodically so apache workers on the proxy would be able to reload as well?