¿Cómo configuro la dirección ip con CherryPy?
Pregunta
Estoy usando Python y CherryPy para crear un sitio web interno simple que usan aproximadamente 2 personas.Utilizo el servidor web integrado con CherryPy.quickstart y nunca me meto con los archivos de configuración.Recientemente cambié de máquina, así que instalé las últimas versiones de Python y cherrypy y cuando ejecuto el sitio puedo acceder a él desde localhost:8080 pero no a través de la IP o el nombre de la máquina de Windows.Podría ser una diferencia en la configuración de la máquina o una versión más nueva de CherryPy o Python.¿Alguna idea de cómo puedo vincularme a la dirección IP correcta?
Editar:Para que quede claro, actualmente no tengo ningún archivo de configuración.
Solución
Eso depende de cómo esté ejecutando cherrypy init.
Si usa la sintaxis de cherrypy 3.1, eso sería suficiente:
cherrypy.server.socket_host = 'www.machinename.com'
cherrypy.engine.start()
cherrypy.engine.block()
Por supuesto, puedes tener algo más sofisticado, como subclasificar la clase del servidor o usar archivos de configuración.Esos usos están cubiertos en la documentación.
Pero eso debería ser suficiente.Si no, cuéntanos qué estás haciendo y la versión cherrypy, y editaré esta respuesta.
Otros consejos
server.socket_host: '0.0.0.0'
...también funcionaría.Eso es IPv4 INADDR_ANY, que significa "escuchar en todas las interfaces".
En un archivo de configuración, la sintaxis es:
[global]
server.socket_host: '0.0.0.0'
En codigo:
cherrypy.server.socket_host = '0.0.0.0'
import cherrypy
class HelloWorld(object):
def index(self):
return "Hello World!"
index.exposed = True
cherrypy.server.socket_host = '0.0.0.0' # put it here
cherrypy.quickstart(HelloWorld())