Apache服务器可以通过以下方式从外部网络设置和访问:http://lifehacker.com/124212/geek-to-live--how-to-set-up-a-personal-home-web-server我想用python SimpleHTTPServer实现类似的功能。这怎么可能呢?
步骤1:执行python -m SimpleHTTPServer命令。注意,python -m SimpleHTTPServer
仅适用于python 2。对于python 3,您应该使用:python -m http.server
步骤2:编辑路由器的配置,将端口8000转发到运行python命令的计算机。
步骤3:确定家庭网络的IP地址,例如,203.0.113.47
确定家庭网络IP地址的一种方便方法是咨询任何一个what-is-my-ip网站,例如https://www.whatismyip.com/。
步骤4:从您的网络外部,访问(例如)http://203.0.113.47:8000/
如果端口8000在防火墙中被阻塞,您必须打开它
以RHEL/CentOS/Fedora为例,如下图所示打开端口8000。
#firewall-cmd --permanent --add-port=8000/tcp
#firewall-cmd --reload
在Debian和Ubuntu上,你可以允许如下所示的端口。
$ sudo ufw allow 8000
您可以将您的路由器端口转发到特定端口,并使用动态DNS服务(如no-ip)到达您的服务器。
或者你可以使用像localtunnel这样的隧道软件。我或ngrok将您的端口转发到唯一的URL。
或者你可以创建一个反向代理或VPN服务器,如果你有一个云服务器,如AWS或DigitalOcean。
是的,localtunnel帮助你在外部访问python http.server。这里的外部访问是指访问你的http。从外部网络的服务器(假设你在德里运行python http。服务器,并希望您在班加罗尔的朋友看到目录内容)。
要求:
-
nvm(用于安装localtunnel)
-
在特定端口上使用'lt' (CLI工具)(但请记住,为了在python http上进行外部访问)。服务器端需要运行python -m http。