From ae068781cac5d1b6dbbe2e3356742352bf415ba9 Mon Sep 17 00:00:00 2001 From: Jakob Ackermann Date: Tue, 7 Jul 2020 14:55:42 +0200 Subject: [PATCH] Merge pull request #2978 from overleaf/jpa-expose-hostname [misc] optionally expose the hostname in the X-Served-By response header GitOrigin-RevId: f3ac14aeb75cef8c9ed1d8cb1d649dd7f909b99b --- services/web/app/src/infrastructure/Server.js | 7 +++++++ services/web/config/settings.defaults.coffee | 3 +++ 2 files changed, 10 insertions(+) diff --git a/services/web/app/src/infrastructure/Server.js b/services/web/app/src/infrastructure/Server.js index b9bc7e836b..4994381042 100644 --- a/services/web/app/src/infrastructure/Server.js +++ b/services/web/app/src/infrastructure/Server.js @@ -72,6 +72,13 @@ if (Settings.behindProxy) { next() }) } +if (Settings.exposeHostname) { + const HOSTNAME = require('os').hostname() + app.use((req, res, next) => { + res.setHeader('X-Served-By', HOSTNAME) + next() + }) +} webRouter.use( express.static(Path.join(__dirname, '/../../../public'), { diff --git a/services/web/config/settings.defaults.coffee b/services/web/config/settings.defaults.coffee index 3b37aec294..331b05adcb 100644 --- a/services/web/config/settings.defaults.coffee +++ b/services/web/config/settings.defaults.coffee @@ -418,6 +418,9 @@ module.exports = settings = # address and http/https protocol information. behindProxy: false + # Expose the hostname in the `X-Served-By` response header + exposeHostname: process.env['EXPOSE_HOSTNAME'] == 'true' + # Cookie max age (in milliseconds). Set to false for a browser session. cookieSessionLength: 5 * 24 * 60 * 60 * 1000 # 5 days