通过本地网络查看网站?


1

我正在使用Python的SimpleHTTPServer在我的本地Mac(Lion)机器上运行一个网站。我可以在本地计算机上http://localhost:8000http://127.0.0.1:8000本地计算机上查看该站点。

我的问题是:为什么我不能在连接到同一局域网的其他机器上查看它?

我采取了以下步骤:

  1. 在我的Mac上启用了Web共享,并暂时关闭了我的防火墙。
  2. 通过以下方式获取我Mac的IP地址ifconfig:确实如此192.168.1.13
  3. 将另一台计算机连接到同一LAN。
  4. 在那台机器上,指向浏览器http://192.168.1.13:8000

但它不起作用。我甚至没有得到HTTP响应代码:Chrome告诉我响应是空的。


在你的另一台机器上,有什么作用ping 192.168.1.13
MattDMo

Answers:


1

在不了解Mac的情况下,如果它像Linux一样,那将是因为你的服务器只监听'loopback'接口(lo),它总是有IPv4地址127.0.0.1(和IPv6地址::1),以及域localhost

这允许您在本地计算机上运行服务器,而不会访问您连接到的任何网络。这对某些用例具有安全性。

但是,您希望可以从LAN访问它,因此您需要确保Python脚本正在侦听具有IPv4 addr的接口192.168.1.13

可能需要关闭防火墙和其他额外步骤。一旦你有它工作,你可能想看看它是否与防火墙重新打开一起工作。如果没有,您可能需要在防火墙配置中添加例外。


这(+1)。并尝试netstat -a | grep LISTEN查看正在收听的内容,确保它正在侦听可从网络上的其他人访问的界面。
Rich Homolka 2013年

谢谢!这是一个很好的建议。实际上,我意识到我在Django的runserver上运行该站点,这解决了我的问题:stackoverflow.com/questions/2260727 / ...
Richard
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.