From 219a2dafd6eea42e66181ef2345590028e18f684 Mon Sep 17 00:00:00 2001 From: Carl Worth Date: Sat, 6 Jun 2020 09:34:29 -0700 Subject: [PATCH] Add 'trust proxy' option since we trust our proxy This fixes the URL that the server gives to clients in the game-info event so that it will be a working URL (https://lmno.games/WXYZ) instead of a URL from the node point of view (http://localhost/WXYZ) which won't do any good for users to share. --- lmno.js | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/lmno.js b/lmno.js index 688c7a7..d01b3e9 100644 --- a/lmno.js +++ b/lmno.js @@ -32,6 +32,15 @@ The "node lmno-passwd.js" command can help generate password hashes.`); } const app = express(); + +/* This 'trust proxy' option, (and, really? a space in an option + * name?!) means that express will grab hostname and IP values from + * the X-Forwarded-* header fields. We need that so that our games + * will display a proper hostname of https://lmno.games/WXYZ instead + * of http://localhost/QFBL which will obviously not be a helpful + * thing to share around. + */ +app.set('trust proxy', true); app.use(cors()); app.use(body_parser.urlencoded({ extended: false })); app.use(body_parser.json()); -- 2.43.0