title: Publish Node.JS server on the internet
body: <p>I have a Node.JS server that works fine on <code>localhost</code>. Now I want it accessible from the internet, hosted by my machine. My public IP address (the one that <a href="https://www.google.co.uk/search?q=what+is+my+ip+address&amp;aq=0&amp;oq=what+is+my+IP+address&amp;aqs=chrome.0.0j5j0l2j62l2.2794&amp;sourceid=chrome&amp;ie=UTF-8" rel="noreferrer">Google tells me I have</a>) does not seem to be "accessible":</p>
  
  <pre><code>https.createServer({
      key: privateKey,
      cert: certificate
  }, server).listen(80, '86.151.23.17');
  </code></pre>
  
  <p>fails with the following Node.JS error:</p>
  
  <pre><code>Error: listen EADDRNOTAVAIL
      at errnoException (net.js:770:11)
      at Server._listen2 (net.js:893:19)
      at listen (net.js:937:10)
      at Server.listen (net.js:994:9)
      at dns.js:71:18
      at process.startup.processNextTick.process._tickCallback (node.js:244:9)
  </code></pre>
  
  <p>How can I publish my Node.JS server to my public IP address?</p>
  
  <p>[Note: I do not have another webserver running. Also, I have tried various different ports as suggested <a href="https://stackoverflow.com/questions/10809740/listen-eaddrnotavail-error-in-node-js?rq=1">here</a>.]</p>