2011-09-21 70 views
19

我已經創建了一個使用CherryPy的Python Web應用程序,並已部署在本地計算機上。本地部署Python(CherryPy)web應用程序,但在Intranet上無法看到

當我試圖從房子裏的另一臺計算機上查看它時,什麼都沒有回來。

但是,如果我創建了一個簡單的HTML文件,並與部署:

$ python -m SimpleHTTPServer 

它是通過局域網可見。

我很難理解爲什麼我的應用可以在本地工作,但不能在內部網上使用,因爲這些機器之間沒有連接問題,而且我可以在同一端口上提供其他內容。

我還沒有使用配置文件,我使用的是默認的CherryPy設置。

回答

27

默認設置可能會綁定到localhost,這是不公開的。如果你想讓CherryPy在公共界面上運行,你必須指示它做到這一點。從this discussion我發現:

cherrypy.config.update(
    {'server.socket_host': '10.149.4.240' }) # Pub IP 
cherrypy.quickstart() 

cherrypy.config.update(
    {'server.socket_host': '0.0.0.0'})  
cherrypy.quickstart() 

綁定到所有接口。

+1

你應該可以使用0.0.0.0。這基本上就是你的本地計算機,可公開訪問(而默認的127.0.0.1是你的本地計算機,不可公開訪問)。 – Dave

+2

爲了澄清這個答案,配置套接字主機的一種方法是在調用'cherrypy.quickstart()'之前調用'cherrypy.config.update({'server.socket_host':'0.0.0.0'})''。配置文件也可以使用。 –

相關問題