I was wondering if I have index.html and in windows CMD run python -m http.server 80 while in the directory with index.html will it start a server on my IP(given I have port 80 open) and then people can just connect to my IP and see what is in index.html?
2 Answers
If
- your router is portforwarded for TCP 80
- the server is listening on 0.0.0.0
- No firewalls are in the way
Then it will be publically accessible. To make it only available on local host you should host on 127.0.0.1
httpd = ServerClass(("127.0.0.1", 80), HandlerClass)
Edit: the other answer posted this good link, didn't see until after posting: Is it possible to run python SimpleHTTPServer on localhost only?
6 Comments
Alexwall
So then it returning
Serving HTTP on 0.0.0.0 port 80 ... is not an error?rubenwardy
No, 0.0.0.0 means "all IPv4 addresses on the local machine".
rubenwardy
127.0.01 is the loop back address. See here for more info: howtogeek.com/225487/…
rubenwardy
You can use this website to check if your site is accessible: downforeveryoneorjustme.com Paste your public IP in there, found by google "what is my ip"
Alexwall
Thanks, looks like ill be calling my ISP to see if they are blocking portforwarding
|
People should be able to connect to your public IP without problem. It would be a little more complex if you want to give access only from localhost:
Is it possible to run python SimpleHTTPServer on localhost only?