Веб-приложение Python (CherryPy) развернуто локально, но не отображается в интрасети - PullRequest
21 голосов
/ 21 сентября 2011

Я создал веб-приложение Python с использованием CherryPy и развернул его на своем локальном компьютере.

Когда я пытаюсь просмотреть его с другого компьютера в доме, ничего не возвращается.

Однако, если я создам простой HTML-файл и разверну его с помощью:

$ python -m SimpleHTTPServer

Это видно через интранет.

Я озадачен тем, почему мое приложение может работать локально, но не быть доступным через интрасеть, учитывая, что между этими машинами нет проблем с подключением, и что я могу обслуживать другой контент на том же порту.

Я не использовал файл конфигурации, я использую настройки CherryPy по умолчанию.

1 Ответ

30 голосов
/ 21 сентября 2011

Настройки по умолчанию, вероятно, привязаны к localhost, который не является общедоступным. Если вы хотите, чтобы CherryPy работал на общедоступном интерфейсе, вам нужно будет сделать это. Из этого обсуждения я нашел:

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()

Для привязки ко всем интерфейсам.

...