Не удалось получить доступ к серверу причала с локальным IP-адресом

Я настроил jetty-maven-plugin в своем eclipse Mars, и я может запустить сервер, используя цели запуска и остановки причала. Я могу получить доступ к веб-сайту, используя http://localhost:8080/myapp, но не используя локальный IP-адрес (например, http://192.168.0.5:8080/myapp) с моего собственного компьютера или других компьютеров, подключенных к той же сети через локальную сеть и Wi-Fi.

Как упоминалось в качестве решения в этих сообщениях,

как сделать сервер Jetty доступным из локальной сети?

Настройка Jetty для приема соединений со всех хостов

Я настроил хост сервера на 0.0.0.0 из localhost для прослушивания на всех хостах. С этим параметром я вижу в журнале запуска сервера,

INFO:oejs.AbstractConnector:Started [email protected]:8080

и это работает только на http://localhost:8080, но недоступно с http://192.168.0.5:8080.

Я также попытался запустить это, если интерфейс доступен с помощью Список сетевых интерфейсов как указано в этом комментарии. и Я получил,

Display name: NETGEAR WNA1000M N150 Wireless USB Micro Adapter
Name: wlan4
InetAddress: /192.168.0.5

Я также пытался отключить брандмауэр/антивирус Windows, но не помогло. Моя версия причала <jetty.version>9.3.0.M1</jetty.version> и JDK 1.7. В чем может быть проблема? Любая помощь приветствуется.


person Lucky    schedule 14.12.2015    source источник


Ответы (2)


В этом виноват McAfee Endpoint Security. Он блокировал запросы с IP-адресами с моего собственного компьютера. Отключил брандмауэр внутри Антивируса, и я смог получить доступ к сайту с помощью http://192.168.0.5:8080/mysite из браузера и других устройств, подключенных через сеть.

person Lucky    schedule 15.12.2015
comment
Указав адрес 192.168, ваши запросы фактически отправлялись в сеть, а затем снова возвращались, как будто с другого компьютера. Так что концепция моего собственного компьютера здесь не совсем точна. Если бы вы запросили у localhost или 127.0.0.1 - loopback-адрес - тогда это действительно был бы ваш собственный компьютер, так как запрос даже не выходит в сеть. - person Stewart; 05.10.2017

Иногда какая-то другая программа открывает ваш порт на внешнем адресе, прежде чем вы сделаете это с помощью Jetty. Вместо этого он будет получать весь трафик. В Windows вы не узнаете об этом, если повторно используете порт (это поведение Jetty по умолчанию). Проверьте с помощью netstat -ano, какой IP-адрес процесса действительно прослушивает 0.0.0.0:8080. Убедитесь, что это только ваш процесс Jetty.

Затем попробуйте подключиться с помощью telnet или netcat и посмотреть, сможете ли вы открыть соединение и каков ответ.

person Michał Grzejszczak    schedule 14.12.2015
comment
Спасибо, но если порт уже используется какой-то другой программой, я не думаю, что смогу запустить сервер. Я также изменил порт в корпусе. Но это никогда не помогало. Проблема не в запуске причала, а в доступе к нему с моего локального IP. - person Lucky; 14.12.2015