Tomcat принимает IP-адреса? - PullRequest
       25

Tomcat принимает IP-адреса?

0 голосов
/ 21 сентября 2009

У меня есть приложение Tomcat, которое выступает в качестве веб-сервера / шлюза для Sun Systems Connect (который сам является шлюзом для учетных записей Systems Union, который, я подозреваю, является воротами для счастья).

Я могу получить доступ к странице входа в приложение через браузер, если я использую имя компьютера (или localhost, когда локально). Но ни IP машины, ни Localhost не позволяют мне видеть страницу входа.

Сунь, скажи мне, что это «особенность» Tomcat. К сожалению, машины учетных записей в разработке и в производстве имеют одно и то же имя (разные домены), поэтому я не могу сказать, выполняю ли я тесты на dev или live box. Если не считать изменения имен ящиков, могу ли я заставить Tomcat принимать IP-адреса?

Ответы [ 3 ]

1 голос
/ 22 сентября 2009

Tomcat ничего не знает об IP-адресах. IP просто рассматривается как имя хоста. Вы должны убедиться, что конфигурация позволяет IP. У вас есть несколько вариантов для достижения этой цели.

Если вы добавите defaultHost для механизма, любое несоответствующее имя хоста или IP будет использовать этот виртуальный хост. Например,

<Engine name="Standalone" defaultHost="example.com">

Если вы хотите больше контроля, вы также можете добавить IP-адрес в качестве псевдонима, например

<Host appBase="webapps" name="example.com">
   <Alias>192.168.1.2</Alias>
</Host>

Существует множество других причин, по которым IP-адрес может быть отклонен,

  1. SSL не разрешает IP, потому что сертификат ничего не знает об IP-адресе.
  2. Если вы используете виртуальный хост на Apache или интерфейсный коммутатор, он обычно основывается на решении по имени хоста, которое вы используете, и не знает, как маршрутизировать IP.
  3. У вас может быть какой-то фильтр безопасности или правило для проверки заголовков хостов в HTTP и, в частности, отбрасывания запросов от неизвестных хостов.

Просмотр журналов может показать вам точную причину.

0 голосов
/ 21 сентября 2009

http://tomcat.apache.org/tomcat-4.1-doc/config/valve.html говорит о флаге resolHosts, который вызывает поиск DNS, также возможно, с настройкой показанного шаблона к одному из параметров% A, который вы могли бы перечислить в адресе IP-адреса.

0 голосов
/ 21 сентября 2009

Прошло много времени с тех пор, как я использовал Tomcat, но я подумал, что по умолчанию вы можете вызывать веб-службу по имени или IP-адресу. Я не знаю, поможет ли это, но вы можете попробовать установить виртуальный хост для IP-адреса в server.xml, например. добавить строфу что-то вроде

<Host name="localhost" debug="0" appBase="webapps" unpackWARs="true">

но заменив localhost на IP-адрес вашего компьютера.

...