Не удается получить доступ к Tomcat по IP-адресу - PullRequest
37 голосов
/ 06 июня 2011

Я запускаю экземпляр Tomcat 5.5 (порт: 8089) в Windows 7.

Сервер работает правильно, если я открываю http://localhost:8089/, но выдает ошибку (соединение отказано) приhttp://192.168.1.100:8089/

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

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

решено:

добавлено address = "0.0.0.0" к строке соединителя, все работает!Большое спасибо!

Ответы [ 9 ]

20 голосов
/ 13 января 2012

Вам необходимо разрешить IP-доступ для tomcat в server.xml, по умолчанию он отключен.Откройте файл server.xml для поиска «

<Connector port="8080" protocol="HTTP/1.1" 
           connectionTimeout="20000" 
           URIEncoding="UTF-8"
           redirectPort="8443" />

». Здесь добавьте новый атрибут useIPVHosts = «true» , чтобы оно выглядело так:

<Connector port="8080" protocol="HTTP/1.1" 
           connectionTimeout="20000" 
           URIEncoding="UTF-8"
           redirectPort="8443"
           useIPVHosts="true" />

Теперь перезапустите Tomcat, он должен работать

17 голосов
/ 06 июня 2011

Вам нужно заставить Tomcat также прослушивать адрес 192.168.1.100.

Если вы хотите, чтобы он прослушивал все интерфейсы (IP-адреса), просто удалите "address =" из строки Connector в вашем файле конфигурации иперезапустите Tomcat.

Или просто используйте свой IP для прослушивания этого адреса = 192.168.1.100 в строке Соединителя

11 голосов
/ 29 мая 2017

Если вы не можете получить доступ к tomcat с удаленного компьютера, возможно, причина в том, что занятый порт не открыт на вашем компьютере. Предположим, вы взяли порт 8081.

На вашем компьютере с Windows:

Открыть Панель управления-> Брандмауэр Windows-> Дополнительные настройки-> Правила для входящих подключений

Создайте новое правило: укажите порт

Picture1

Сконфигурируйте ваш порт, а затем выключите и запустите ваш tomcat, и он будет доступен и с удаленного компьютера.

Эта проблема с портами возникает в основном на машинах AWS.

Если он все еще не работает, обратитесь к администратору, чтобы убедиться, что выбранный порт открыт для публичного доступа или нет, если нет, то откройте его.

10 голосов
/ 25 июня 2015

Если вы пытаетесь получить доступ к вашему веб-приложению, работающему на сервере Apache Tomcat, он может работать идеально, когда вы пытаетесь использовать его на http://localhost:8080/ , он не будет работать так же, если вы пытаетесь получить к нему доступ в браузере своего мобильного устройства для ex. используя хром http://192.168.x.x:8080/ поэтому, если вы хотите получить доступ по IP-адресу на вашем удаленном / мобильном устройстве, выполните следующие настройки

  1. Открыть файл server.xml.
  2. Изменить

    <Connector connectionTimeout="20000" port="8080"protocol="HTTP/1.1" redirectPort="8443"/>
    

до *. * 1016

    <Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443" address="0.0.0.0" />
  1. Сохранить файл
  2. Остановите и перезапустите сервер
  3. Теперь доступ к вашему мобильному устройству с использованием IP-адреса http://192.168.1.X:8080/

Вы готовы идти.

8 голосов
/ 06 июня 2011

Новые версии серверов приложений убрали возможность привязки ко всему сетевому интерфейсу и ограничили его только локальным интерфейсом (localhost). Причина была в безопасности. Насколько я знаю, Tomcat и JBoss применяют одинаковые меры безопасности.

Если вы хотите привязать его к другому IP, вы можете явно указать его в строке коннектора:

  • Tomcat: address="192.168.1.100"
  • JBoss: вы передаете -b 192.168.1.100 в командной строке.

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

Просто убедитесь, что вы понимаете последствия, связанные со всеми адресами (0.0.0.0)

1 голос
/ 28 января 2016

Брандмауэры часто являются проблемой в этих ситуациях. Лично корпоративный брандмауэр Mcafee вызывал эту проблему даже для запросов в сети.

Отключите брандмауэры или добавьте правило для tomcat и посмотрите, поможет ли это.

0 голосов
/ 25 февраля 2017

Очень странно, потому что брандмауэр вызвал проблему.

0 голосов
/ 08 сентября 2016

Я также столкнулся с той же проблемой на экземпляре Amazon Windows EC2 (Windows Server 2012 R2). Затем я понял, что это предотвращает локальный брандмауэр Windows.Я открыл порт 80 (определенный порт для веб-сайта) с помощью Windows Firewall с Advance Security.

Это решило проблему.

0 голосов
/ 09 апреля 2013

Проверьте ваш брандмауэр Windows на панели управления.Исходящий и входящий порт должен позволять порт 8089. (или написать новое правило для этого - Правая сторона, действия - новые правила.) Это сработало для меня!

...