postleaf icon indicating copy to clipboard operation
postleaf copied to clipboard

Supply binding interface in .env

Open nextlogic-ono opened this issue 7 years ago • 4 comments
trafficstars

Summary

.env file needs an entry to supply the binding interface for 'listen'. It currently forces to listen on all interfaces exposing port 3000 globally without a firewall blocking it.

Also, you should check to make sure APP_PORT is an integer or else it starts out as listening on port NaN and the process stays alive.

Steps to Reproduce

  1. Install as normal
  2. node app

Additional info

  • Postleaf version: 1.0.0-beta.1
  • Node version: 8.9.4
  • Affected browsers:
  • Operating system: Ubuntu 16.04

nextlogic-ono avatar Jan 25 '18 12:01 nextlogic-ono

Would you care to give an example? I.E. what's your preferred method to resolve this?

claviska avatar Jan 27 '18 03:01 claviska

Perhaps, provide

APP_BIND=127.0.0.1

in .env and simply

app.listen(process.env.APP_PORT, () => {

becomes

app.listen(process.env.APP_PORT, process.env.APP_BIND, () => {

nextlogic-ono avatar Jan 27 '18 04:01 nextlogic-ono

Ok. I'll be happy to accept a PR that looks for the APP_HOST environmental variable. If present, it binds to that host. Otherwise, the current behavior stays the same.

I'm suggesting APP_HOST in lieu of APP_BIND because its also the argument name for server.listen() in the docs and may be more clear to users.

claviska avatar Jan 27 '18 04:01 claviska

Fixed in #77. Only thing left here:

  • [ ] Add APP_HOST to docs

claviska avatar Jan 29 '18 03:01 claviska