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/
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.