Postleaf / postleaf

Simple, beautiful publishing with Node.js.
https://www.postleaf.org/
MIT License
505 stars 204 forks source link

Supply binding interface in .env #74

Open windware-ono opened 6 years ago

windware-ono commented 6 years ago

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

claviska commented 6 years ago

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

windware-ono commented 6 years ago

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, () => {

claviska commented 6 years ago

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 commented 6 years ago

Fixed in #77. Only thing left here: