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?
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>
)
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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With