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


9

Здравствуйте, я запускаю веб-приложение на порту 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 Server 12.04

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

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


1
Приложение, вероятно, прослушивает локальный адрес (127.0.0.1), а не все локальные адреса (0.0.0.0). Вы не предоставили достаточно информации в своем приложении, чтобы люди могли помочь вам исправить это.
Джеймс Хенстридж

Мое приложение, работающее на порту 8000 - это просто веб-сайт. Возможно, этот netstat copy / paste расскажет больше о моей сети:
Marionette

3
Ну, бег netstat -tln | grep 8000может пролить свет на проблему. Если локальный адрес сервера, 127.0.0.1:8000а не 0.0.0.0:8000, то он будет доступен только через интерфейс обратной связи.
Джеймс Хенстридж

проверьте свои iptables

Ответы:


5

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

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


Также вы знакомы с переадресацией портов на вашем роутере? Если вы собираетесь подключиться к нему из Интернета через порт 8000, вам нужно перенаправить порт 8000 на эти машины ip.
wlraider70

0

В одном файле конфигурации вашего приложения вы должны настроить приложение для прослушивания внешнего 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.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.