expressjs / expressjs/vhost

Using express vhost behind a reverse proxy

Open
#20 3 comments 9 reactions 0 assignees View on GitHub
enhancement
Dominant language
JavaScript
Stars
766
Forks
94
PR merge metrics
No merged PRs in 30d

Description

I'm using express vhost behind a reverse proxy and i want to use this module based on the `x-forwarded-host` header as opposed to the `host` header that is hardcoded here:

https://github.com/expressjs/vhost/blob/12565d1e88ccd089f2f04f05227f636d3aea6111/index.js#L77

Express 4 supports this by accessing `req.hostname` directly: http://expressjs.com/en/4x/api.html#req.hostname

Express 3 supports this at `req.host`:
http://expressjs.com/en/3x/api.html#req.host

Is this module still intended to support express v3? Would you accept a pull request that replaces:

https://github.com/expressjs/vhost/blob/12565d1e88ccd089f2f04f05227f636d3aea6111/index.js#L77

with:

```
var host = req.hostname || req.host
```

to keep support with both express v3 and v4.

**EDIT:**
I've just re-read the readme again and this would be the only part of this module which adds a direct express dependency. Maybe the code could be:

```
var host = req.hostname || req.host || req.headers.host
```

To support express 3/4 and connect servers.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.