Application web Python (CherryPy) déployée localement, mais non visible sur intranet

J'ai créé une application web Python en utilisant CherryPy et je l'ai déployée sur ma machine locale.

Quand j'essaie de le voir à partir d'un autre ordinateur de la maison, rien ne revient.

Cependant, si je crée un fichier html simple, et le déploie avec:

$ python -m SimpleHTTPServer

Il est visible sur l'intranet.

Je suis perplexe quant à la raison pour laquelle mon application pourrait fonctionner localement, mais ne pas être disponible sur l'intranet, étant donné qu'il n'y a pas de problème de connexion entre ces machines, et que je peux servir autre contenu sur le même port.

Je n'ai pas utilisé de fichier de configuration, j'utilise les paramètres CherryPy par défaut.

21
demandé sur Eric Wilson 2011-09-21 07:11:48

1 réponses

Les paramètres par défaut se lient probablement à localhost, qui n'est pas accessible au public. Si vous voulez que CherryPy fonctionne sur une interface publique, vous devrez le diriger pour le faire. À partir de cette discussion j'ai trouvé:

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

Ou

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

Pour se lier à toutes les interfaces.

30
répondu Gringo Suave 2011-09-21 22:06:20