Add in more robust support for being behind a proxy

This commit is contained in:
James Allen 2014-06-25 10:34:23 +01:00
parent 85befe0d57
commit cb682ac584
3 changed files with 12 additions and 2 deletions

View file

@ -38,13 +38,15 @@ app.ignoreCsrf = (method, route) ->
ignoreCsrfRoutes.push new express.Route(method, route)
app.configure () ->
if Settings.behindProxy
app.enable('trust proxy')
app.use express.static(__dirname + '/../../../public', {maxAge: staticCacheAge })
app.set 'views', __dirname + '/../../views'
app.set 'view engine', 'jade'
app.use express.bodyParser(uploadDir: Settings.path.uploadFolder)
app.use cookieParser
app.use express.session
proxy: true
proxy: Settings.behindProxy
cookie:
maxAge: cookieSessionLength
secure: Settings.secureCookie

View file

@ -198,6 +198,9 @@ module.exports = class Router
userCanSeeDropbox: true
languages: []
app.get "/ip", (req, res, next) ->
res.send("ShareLaTeX sees your IP as: #{req.ip}")
app.get '/oops-express', (req, res, next) -> next(new Error("Test error"))
app.get '/oops-internal', (req, res, next) -> throw new Error("Test error")
app.get '/oops-mongo', (req, res, next) ->

View file

@ -191,6 +191,11 @@ module.exports =
# cookie with a secure flag (recommended).
secureCookie: false
# If you are running ShareLaTeX behind a proxy (like Apache, Nginx, etc)
# then set this to true to allow it to correctly detect the forwarded IP
# address and http/https protocol information.
behindProxy: false
# Internal configs
# ----------------
path: