Slackbridge ignores outbound proxy

Description

I’ve been trying to get the Slackbridge running but am getting this error in the startup logs:

[WARN]  @slack/client:WebClient:0 http request failed connect ENETUNREACH 52.63.104.105:443 - Local (0.0.0.0:0)

(52.63.104.105 is the IP address for api.slack.com)

Our Rocketchat lives on a private network and uses a HTTP(S) proxy for outbound connections, as set by the HTTPS_PROXY environment variable. Push notifications and URL previews work fine so I am confident this setup is generally correct, but the error message above suggests that the Slackbridge is not honoring the environment variable.

Does the Slackbridge do networking differently to the rest of Rocketchat? Am I completely misinterpreting the error?

Server Setup Information

  • Version of Rocket.Chat Server: 3.9.1
  • Operating System: CentOS 7
  • Deployment Method: tar
  • Number of Running Instances: 1
  • DB Replicaset Oplog: Enabled
  • NodeJS Version: 12.20.0 - x64
  • MongoDB Version: 4.0.18
  • Proxy: haproxy
  • Firewalls involved: outbound traffic via squid, see below

Any additional Information

The machine this Rocketchat is on does not have a public IP address (and cannot route traffic directly to the internet) so outbound HTTP(S) requests must go via Squid, a HTTP proxy. This is configured with the HTTP_PROXY and HTTPS_PROXY environment variables.

From looking at the Squid logs I can see rocketchat successfully makes connections to gateway.rocket.chat (my push notifications do work), as well as any URL I send in a message (for URL previews). But it never asks the Squid proxy to connect to api.slack.com.