From 315bccd0b1ddecc3e5df2857313fa60b8ddc9ffb Mon Sep 17 00:00:00 2001 From: Martin Aeschlimann Date: Thu, 23 Jun 2022 08:58:07 +0200 Subject: [PATCH] Use x-forwarded-host when evaluating the remote authority (#152871) Use x-forwarded-host --- src/vs/server/node/webClientServer.ts | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/vs/server/node/webClientServer.ts b/src/vs/server/node/webClientServer.ts index 272fcf84384..a3edcadca71 100644 --- a/src/vs/server/node/webClientServer.ts +++ b/src/vs/server/node/webClientServer.ts @@ -267,11 +267,12 @@ export class WebClientServer { return res.end(); } - let originalHost = req.headers['x-original-host']; - if (Array.isArray(originalHost)) { - originalHost = originalHost[0]; - } - const remoteAuthority = originalHost || req.headers.host; + const getFirstHeader = (headerName: string) => { + const val = req.headers[headerName]; + return Array.isArray(val) ? val[0] : val; + }; + + const remoteAuthority = getFirstHeader('x-original-host') || getFirstHeader('x-forwarded-host') || req.headers.host; if (!remoteAuthority) { return serveError(req, res, 400, `Bad request.`); }