Add 'proxied' option for running the server behind a reverse proxy
This commit is contained in:
parent
d1a24d5711
commit
054145343e
12
README.md
12
README.md
@ -55,6 +55,18 @@ var server = PeerServer({
|
||||
});
|
||||
```
|
||||
|
||||
#### Running PeerServer behind a reverse proxy
|
||||
|
||||
Make sure to set the `proxied` option, otherwise IP based limiting will fail.
|
||||
The option is passed verbatim to the
|
||||
[expressjs `trust proxy` setting](http://expressjs.com/4x/api.html#app-settings)
|
||||
if it is truthy.
|
||||
|
||||
```javascript
|
||||
var PeerServer = require('peer').PeerServer;
|
||||
var server = PeerServer({port: 9000, path: '/myapp', proxied: true});
|
||||
```
|
||||
|
||||
### Combining with existing express app
|
||||
|
||||
```javascript
|
||||
|
@ -15,7 +15,8 @@ function ExpressPeerServer(server, options) {
|
||||
key: 'peerjs',
|
||||
ip_limit: 5000,
|
||||
concurrent_limit: 5000,
|
||||
allow_discovery: false
|
||||
allow_discovery: false,
|
||||
proxied: false
|
||||
}, options);
|
||||
|
||||
// Connected clients
|
||||
@ -27,6 +28,10 @@ function ExpressPeerServer(server, options) {
|
||||
// Mark concurrent users per ip
|
||||
app._ips = {};
|
||||
|
||||
if (options.proxied) {
|
||||
app.set('trust proxy', options.proxied);
|
||||
}
|
||||
|
||||
app.on('mount', function() {
|
||||
if (!server) {
|
||||
throw new Error('Server is not passed to constructor - '+
|
||||
|
Loading…
x
Reference in New Issue
Block a user