Sign up ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I've been developing Node.js apps on my localhost on port 1337 for last two years with no problem as shown below.

$ node app
App started on port 1337

Today I wanted to test how things go with default port 80, so I did:

$ sudo node app
App started on port 80

But after that my network went crazy. Now I can't access any local address including localhost. When I ping to localhost it points to some weird public IP address ( instead of

$ ping localhost
PING localhost.local ( 56 data bytes
... is not my public IP address.

When I telnet I see the same wrong IP address:

$ telnet localhost
telnet: connect to address Connection refused
telnet: Unable to connect to remote host

My /etc/hosts is the following:   localhost broadcasthost
::1             localhost
fe80::1%lo0 localhost

Can anybody suggest what's wrong?

I'm completely out of guesses and can't even continue my work.

share|improve this question

1 Answer 1

up vote 2 down vote accepted

I found the problem. It happens to be the incorrect line endings in /etc/hosts file.

I edited it using Sublime Text 2, which happens to be a wrong choice as it added CR line terminators.

$ file -b /etc/hosts
ASCII English text, with CR line terminators

As mentioned in, it must be only ASCII English text.

So, copying the /etc/hosts contents and overriding this file using "vi", resolved the problem. Now:

$ file -b /etc/hosts
ASCII English text

I hope this will help others as well.

share|improve this answer
you saved my life ! – Suoinguon Jul 25 '14 at 6:21

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.