From 829e49c81c1a3ac1bcffc56be82fb3d5749b61e3 Mon Sep 17 00:00:00 2001 From: echicken <echicken@bbs.electronicchicken.com> Date: Fri, 26 Nov 2021 05:07:40 +0000 Subject: [PATCH] If BBS is using HAProxy ([BBS] Options line has HAPROXY_PROTO) then throw an error if X-Forwarded-For header was not received, or otherwise do the HAProxy thing upon connecting. --- exec/websocketservice.js | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/exec/websocketservice.js b/exec/websocketservice.js index 4f991ffc10..97dca1c08e 100644 --- a/exec/websocketservice.js +++ b/exec/websocketservice.js @@ -87,6 +87,14 @@ try { var ClientData = []; var ServerData = []; + if (UsingHAProxy()) { + if (FWebSocketHeader['X-Forwarded-For'] !== undefined) { + // Do HAProxy stuff here + } else { + throw new Error('BBS is using HAProxy, but no X-Forwarded-For header present.'); + } + } + // Loop while we're still connected on both ends while ((client.socket.is_connected) && (FServerSocket.is_connected)) { // Should we yield or not (default true, but disable if we had line activity) -- GitLab