从外部网络访问SimpleHTTPServer

时间:2015-05-18 14:16:48

标签: python networking simplehttpserver

可以通过以下方式从ouside Network设置和访问Apache服务器: http://lifehacker.com/124212/geek-to-live--how-to-set-up-a-personal-home-web-server 我想用python SimpleHTTPServer实现类似的功能。 这怎么可能?

4 个答案:

答案 0 :(得分:3)

步骤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地址的一种便捷方法是咨询任何my-is-ip网站,例如https://www.whatismyip.com/

第4步:从您的网络外部访问(例如)http://203.0.113.47:8000/

答案 1 :(得分:0)

您可以将路由器移植到特定端口,并使用动态DNS服务(例如no-ip)访问您的服务器。

或者您可以使用localtunnel.mengrok等隧道软件将您的端口转发到唯一的网址。

如果您拥有AWS或DigitalOcean等云服务器,则可以创建反向代理或VPN服务器。

答案 2 :(得分:0)

如果防火墙阻止了端口8000,则必须将其打开。

例如,在RHEL / CentOS / Fedora上,打开端口8000,如下所示。

#firewall-cmd --permanent --add-port=8000/tcp

#firewall-cmd --reload

在Debian,Ubuntu上,您可以如下所示允许端口。

$ sudo ufw allow 8000

答案 3 :(得分:0)

是的,localtunnel可帮助您外部访问python http.server。 这里的外部访问意味着-从网络外部访问您的http.server(假设您在德里运行python http.server,并希望班加罗尔的朋友可以看到目录内容)。

要求:

  1. nvm(用于安装本地隧道)

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