2011-09-21 6 views
19

CherryPyを使用してPython Webアプリケーションを作成し、ローカルマシンに配備しました。Python(CherryPy)Webアプリケーションはローカルに配備されていますが、イントラネット上には表示されません。

私は家の別のコンピュータから見ようとすると何も戻ってこない。しかし

、私は単純な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

この回答を明確にするために、ソケットホストを設定する1つの方法は 'cherrypy.quickstart()'を呼び出す前に 'cherrypy.config.update({'server.socket_host': '0.0.0.0'})'を呼び出すことです。設定ファイルも使用できます。 –

関連する問題