Торнадо как обычный сервер

1

Как слушать подключения на веб-сервере Tornado, поступающие не из локальной сети? По умолчанию он прослушивает только соединение с localhost. Я пробовал советы от Django, чтобы начать прослушивание по адресу 0.0.0.0, но это не сработает.

Простой код:

server = tornado.httpserver.HTTPServer(application)
server.listen(8000, '0.0.0.0')
Теги:
tornado

2 ответа

10
Лучший ответ

По умолчанию tornado httpserver будет прослушивать указанный порт для всех сетевых интерфейсов (IP-адресов). Таким образом, передача порта должна работать нормально.

Вам также нужно обязательно запустить экземпляр ioloop, который использует сервер:

http_server = tornado.httpserver.HTTPServer(application)
http_server.listen(8000)
tornado.ioloop.IOLoop.instance().start()

торнадо docs очень хороши.

  • 0
    Так что теперь я не знаю. Я пытаюсь запустить проект FemHub Online Lab в качестве службы, чтобы иметь доступ с других компьютеров (наиболее важным является ядро), но когда я могу получить доступ к нему с локального компьютера (локальный хост, LAN LAN и WAN IP, у меня есть перенаправленные порты) У меня нет проблем, но когда я пытаюсь подключиться с виртуальной машины или с моего сервера, я не могу получить доступ. Даже если я изменил источники, чтобы добавить отсутствующий адрес parm.
  • 0
    Только был краткий взгляд , но мне кажется , что это приложение делает настройки Торнадо HTTPServer экземпляр слушать на всех интерфейсах. См. Github.com/certik/femhub-online-lab/blob/master/onlinelab/core/… , параметры адреса не передаются.
Показать ещё 6 комментариев
4

Я нашел этот вопрос, пытаясь диагностировать подобную проблему (сервер торнадо работает на компьютере A, недоступном с компьютера B).

В итоге я понял, мне нужно было открыть порт на компьютере. Межсетевой экран.

  • 0
    хахахаха да! Это мелочи, которые сбивают нас с толку.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню