Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Can't access localhost via IP address

I'm viewing a locally hosted website (using grunt serve, if that matters). I can view it via http://localhost:9000/ or http://127.0.0.1:9000/, but not via http://10.0.0.16:9000/.

10.0.0.16 is my local IP address (from ifconfig or System Preferences), but I cannot access my locally hosted content at http://10.0.0.16:9000/ from either the device that is hosting it or from other devices on the network.

I haven't had trouble using my local IP address to access locally hosted sites when my computer is on other networks, only on my home network. Do you have any idea what needs to change?

like image 597
user1502723 Avatar asked Jul 03 '16 22:07

user1502723


2 Answers

If you are using Python 3.8, this is a known bug. The solution is to manually specify the IP address with the -bind argument or use Python 3.9.

python -m http.server 8000 --bind 127.0.0.1 (or 0.0.0.0, <insert-your-ip-here>)

like image 43
tejasvi88 Avatar answered Oct 12 '22 01:10

tejasvi88


If you can access a server running on your own machine via 127.0.0.1 (or localhost) but not via the computer's ip address, this means that the server software is configured to listen on the localhost interface only. This is a configuration item and to avoid exposing a potentially unsecure server many server programs come preconfigured to listen on localhost only. That way you can safely test locally before exposing the server.

Note that 0.0.0.0 means "listen on all interfaces present on this computer" which is convenient, but may cause security issues if the machine has multiple interfaces.

like image 72
fvu Avatar answered Oct 12 '22 02:10

fvu