9

Hello I'm running a web application on port 8000. When I access it from the host server localhost:8000 it responds ok, 127.0.0.1:8000 also works, but 192.168.1.7:8000 does not work. 192.168.1.7 is the ip of my server.

Also if i try to go to another web application running on port 80 it works 192.168.1.7

I enabled ufw firewall and set ufw default allow. I am using ubuntu server 12.04

Any suggestions on why I can't get to my app on port 8000 using the ip-address:8000?

Thanks in advance!

  • 1
    The application is probably listening to the localhost address (127.0.0.1) rather than to all local addresses (0.0.0.0). You haven't provided enough information on your app for people to help you fix this though. – James Henstridge Sep 25 '12 at 2:28
  • My app running on port 8000 is just a website. Perhaps this netstat copy/paste will reveal more about my network: – Marionette Sep 25 '12 at 2:34
  • 3
    Well, running netstat -tln | grep 8000 might cast some light on the problem. If the server's local address is 127.0.0.1:8000 rather than 0.0.0.0:8000, then it will only be reachable via the loopback interface. – James Henstridge Sep 25 '12 at 6:56
  • check your iptables – user61928 Sep 26 '12 at 8:31
5

As @JamesHenstridge points out, the behaviour you're observing is not due to Ubuntu blocking your application on some IPs, but due to your application explicitly binding only to the local loopback interface (127.x.x.x). At least if you didn't install and set up a firewall to specifically block that port.

You need to consult your application's documentation to see if there's a setting to make it listen on other (or on all) interfaces.

| improve this answer | |
  • Also are you familiar with port forwarding on your router? If you are going to connect to it from the internet on port 8000 you need to forward port 8000 to that machines ip. – wlraider70 Mar 21 '13 at 1:35
0

In one configuration file of your application, you should setup your application to listen to an external externalIP:yourport. It means there is a configuration file where you can find a directive telling the application to listen to either 127.0.0.1:xxxx or localhost:xxxx This is the IP to change with an Internal IP (e.g:192.168.1.40) or an external IP

Sometimes, the localhost IP should be replaced by 0.0.0.0:xxxx which means that the application should answer to a request from any IP.

Iptables may also help to forward packets from an internal IP to an external IP.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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