2011-09-21 5 views
19

CherryPy를 사용하여 Python 웹 응용 프로그램을 만들고 내 로컬 컴퓨터에 배포했습니다.Python (CherryPy) 웹 응용 프로그램은 로컬로 배포되지만 인트라넷에서는 보이지 않습니다.

집안의 다른 컴퓨터에서 보려고하면 아무 것도 나타나지 않습니다. 그러나

, 나는 간단한 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'})'를 호출하는 것입니다. 구성 파일을 사용할 수도 있습니다. –

관련 문제