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?
-
So then it returning
Serving HTTP on 0.0.0.0 port 80 ...
is not an error?– AlexwallCommented Mar 25, 2016 at 18:01 -
No, 0.0.0.0 means "all IPv4 addresses on the local machine". Commented Mar 25, 2016 at 18:04
-
127.0.01 is the loop back address. See here for more info: howtogeek.com/225487/… Commented Mar 25, 2016 at 18:04
-
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" Commented Mar 25, 2016 at 18:20
-
Thanks, looks like ill be calling my ISP to see if they are blocking portforwarding– AlexwallCommented Mar 25, 2016 at 18:21
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?