Порт прослушивания на локальном хосте: 8000, но не на ip: 8000

Здравствуйте, я запускаю веб-приложение на порту 8000. Когда я обращаюсь к нему с хост-сервера localhost: 8000, оно отвечает нормально, 127.0.0.1:8000 также работает, но 192.168.1.7:8000 не работает. 192.168.1.7 - это ip моего сервера.

Также, если я пытаюсь перейти к другому веб-приложению, работающему на порту 80, оно работает. 192.168.1.7

Я включил брандмауэр ufw и установил разрешение по умолчанию для ufw. Я использую сервер Ubuntu 12.04

Любые предложения о том, почему я не могу получить доступ к своему приложению через порт 8000, используя ip-адрес: 8000?

Заранее спасибо!

9
задан 25 September 2012 в 06:15

2 ответа

Как указывает @JamesHenstridge, наблюдаемое вами поведение связано не с тем, что Ubuntu блокирует ваше приложение на некоторых IP-адресах, а с тем, что ваше приложение явно привязано только к локальному интерфейсу обратной связи (127.x.x.x). По крайней мере, если вы не установили и не настроили брандмауэр для конкретной блокировки этого порта.

Вам необходимо ознакомиться с документацией вашего приложения, чтобы узнать, есть ли настройка, позволяющая ему прослушивать другие (или все) интерфейсы.

0
ответ дан 25 September 2012 в 06:15

В одном файле конфигурации вашего приложения вы должны настроить приложение для прослушивания внешнего externalIP: yourport. Это означает, что есть файл конфигурации, в котором вы можете найти директиву, сообщающую приложению прослушивать 127.0.0.1:xxxx или localhost: xxxx. Это IP-адрес, который нужно изменить с помощью внутреннего IP-адреса (например, 192.168.1.40) или внешнего IP-адреса.

Иногда локальный IP-адрес следует заменить на 0.0.0.0:xxxx, что означает, что приложение должно отвечать на запрос с любого IP-адреса.

Iptables также может помочь пересылать пакеты с внутреннего IP на внешний IP.

0
ответ дан 25 September 2012 в 06:15

Другие вопросы по тегам:

Похожие вопросы: