从外部网络访问SimpleHTTPServer



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。服务器,并希望您在班加罗尔的朋友看到目录内容)。

要求:

  1. nvm(用于安装localtunnel)

  2. 在特定端口上使用'lt' (CLI工具)(但请记住,为了在python http上进行外部访问)。服务器端需要运行python -m http。

相关内容

  • 没有找到相关文章

最新更新