Не удается подключиться к Tomcat, хотя он работает

9

Я пытался установить Apache Tomcat 5.5 и 6 двумя разными способами ( из исходного кода и с помощью apt-get ) на Debian 5 и Debian 6 - безуспешно. Сервер работает, но я не могу подключиться к нему.

netstat -a:

Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 *:ssh                   *:*                     LISTEN
tcp        0      0 `hostname`:ssh          my_home_ip:4318      ESTABLISHED
tcp        0     52 `hostname`:ssh          my_home_ip:remctl    ESTABLISHED
tcp6       0      0 [::]:8009               [::]:*                  LISTEN
tcp6       0      0 [::]:8180               [::]:*                  LISTEN
tcp6       0      0 [::]:ssh                [::]:*                  LISTEN
udp        0      0 *:mdns                  *:*
udp        0      0 *:33059                 *:*
udp6       0      0 [::]:mdns               [::]:*
udp6       0      0 [::]:43829              [::]:*

netstat -tnlp:

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1416/sshd
tcp6       0      0 :::8009                 :::*                    LISTEN      7880/jsvc
tcp6       0      0 :::8180                 :::*                    LISTEN      7880/jsvc
tcp6       0      0 :::22                   :::*                    LISTEN      1416/sshd

ps aux | grep tomcat:

root      7878  0.0  0.0   1984   352 ?        Ss   21:55   0:00 /usr/bin/jsvc -user tomcat55 -cp /usr/share/java/commons-daemon.jar:/usr/share/tomcat5.5/bin/bootstrap.jar -outfile SYSLOG -errfile SYSLOG -pidfile /var/run/tomcat5.5.pid -Djava.awt.headless=true -Xmx128M -Djava.endorsed.dirs=/usr/share/tomcat5.5/common/endorsed -Dcatalina.base=/var/lib/tomcat5.5 -Dcatalina.home=/usr/share/tomcat5.5 -Djava.io.tmpdir=/var/lib/tomcat5.5/temp -Djava.security.manager -Djava.security.policy=/var/lib/tomcat5.5/conf/catalina.policy -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.util.logging.config.file=/var/lib/tomcat5.5/conf/logging.properties org.apache.catalina.startup.Bootstrap
root      7879  0.0  0.0   1984   460 ?        S    21:55   0:00 /usr/bin/jsvc -user tomcat55 -cp /usr/share/java/commons-daemon.jar:/usr/share/tomcat5.5/bin/bootstrap.jar -outfile SYSLOG -errfile SYSLOG -pidfile /var/run/tomcat5.5.pid -Djava.awt.headless=true -Xmx128M -Djava.endorsed.dirs=/usr/share/tomcat5.5/common/endorsed -Dcatalina.base=/var/lib/tomcat5.5 -Dcatalina.home=/usr/share/tomcat5.5 -Djava.io.tmpdir=/var/lib/tomcat5.5/temp -Djava.security.manager -Djava.security.policy=/var/lib/tomcat5.5/conf/catalina.policy -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.util.logging.config.file=/var/lib/tomcat5.5/conf/logging.properties org.apache.catalina.startup.Bootstrap
tomcat55  7880  0.1  5.3 324068 27932 ?        Sl   21:55   0:01 /usr/bin/jsvc -user tomcat55 -cp /usr/share/java/commons-daemon.jar:/usr/share/tomcat5.5/bin/bootstrap.jar -outfile SYSLOG -errfile SYSLOG -pidfile /var/run/tomcat5.5.pid -Djava.awt.headless=true -Xmx128M -Djava.endorsed.dirs=/usr/share/tomcat5.5/common/endorsed -Dcatalina.base=/var/lib/tomcat5.5 -Dcatalina.home=/usr/share/tomcat5.5 -Djava.io.tmpdir=/var/lib/tomcat5.5/temp -Djava.security.manager -Djava.security.policy=/var/lib/tomcat5.5/conf/catalina.policy -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.util.logging.config.file=/var/lib/tomcat5.5/conf/logging.properties org.apache.catalina.startup.Bootstrap
root      8013  0.0  0.0   1716   492 pts/0    R+   22:13   0:00 grep tomcat

nmap проверка порта:

# nmap localhost -p 8180
Starting Nmap 4.62 ( http://nmap.org ) at 2012-03-03
Interesting ports on localhost.localdomain (127.0.0.1):
PORT     STATE  SERVICE
8180/tcp closed unknown
Nmap done: 1 IP address (1 host up) scanned in 0.025 seconds

# nmap localhost -p 8009
Starting Nmap 4.62 ( http://nmap.org ) at 2012-03-03
Interesting ports on localhost.localdomain (127.0.0.1):
PORT     STATE  SERVICE
8009/tcp closed ajp13
Nmap done: 1 IP address (1 host up) scanned in 0.027 seconds

# nmap localhost -p 22
Starting Nmap 4.62 ( http://nmap.org ) at 2012-03-03
Interesting ports on localhost.localdomain (127.0.0.1):
PORT   STATE SERVICE
22/tcp open  ssh
Nmap done: 1 IP address (1 host up) scanned in 0.026 seconds

Каталина бревно:

Mar 3, 2012 9:55:26 PM org.apache.catalina.core.AprLifecycleListener lifecycleEvent
INFO: The Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: 
Mar 3, 2012 9:55:26 PM org.apache.coyote.http11.Http11BaseProtocol init
INFO: Initializing Coyote HTTP/1.1 on http-8180
Mar 3, 2012 9:55:26 PM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 486 ms
Mar 3, 2012 9:55:27 PM org.apache.catalina.core.StandardService start
INFO: Starting service Catalina
Mar 3, 2012 9:55:27 PM org.apache.catalina.core.StandardEngine start
INFO: Starting Servlet Engine: Apache Tomcat/5.5
Mar 3, 2012 9:55:27 PM org.apache.catalina.core.StandardHost start
INFO: XML validation disabled
Mar 3, 2012 9:55:27 PM org.apache.coyote.http11.Http11BaseProtocol start
INFO: Starting Coyote HTTP/1.1 on http-8180
Mar 3, 2012 9:55:27 PM org.apache.jk.common.ChannelSocket init
INFO: JK: ajp13 listening on /0.0.0.0:8009
Mar 3, 2012 9:55:27 PM org.apache.jk.server.JkMain start
INFO: Jk running ID=0 time=0/24  config=null
Mar 3, 2012 9:55:27 PM org.apache.catalina.storeconfig.StoreLoader load
INFO: Find registry server-registry.xml at classpath resource
Mar 3, 2012 9:55:27 PM org.apache.catalina.startup.Catalina start
INFO: Server startup in 321 ms

java -version:

java version "1.5.0_22"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_22-b03)
Java HotSpot(TM) Client VM (build 1.5.0_22-b03, mixed mode)

Я также попытался принудительно назначить Tomcat для моего внешнего IP-адреса VPS. Я также получил сообщение об ошибке во время инициализации виртуальной машины. Не удалось зарезервировать достаточно места для кучи объектов. время от времени ошибка, но я думаю, что это не проблема, поскольку Tomcat все равно не отвечает.

Извините за столько текста - я старался быть информативным. Пожалуйста, помогите мне. Заранее спасибо!

ОБНОВЛЕНИЕ Как указано в ответе, Tomcat прослушивал порт IPv6. Чтобы изменить это, я должен был добавить переменную окружения для компьютера JAVA в /etc/profileфайл

JAVA_OPTS="-Djava.net.preferIPv4Stack=true"
export JAVA_OPTS

... перезагрузить файл: source /etc/profile

... а затем настройте главный Tomcat, Connectorотредактировав /etc/tomcat5.5/server.xml(в моем случае) следующим образом:

<Connector port="8080" maxHttpHeaderSize="8192"
    maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
    enableLookups="false" redirectPort="8443" acceptCount="100"
    connectionTimeout="20000" disableUploadTimeout="true" address="0.0.0.0" />

Обратите внимание на то, address="0.0.0.0"что Tomcat связывается с IPv4-адресом.

Спасибо за ваше время, и всем хорошего дня.

aexl
источник
При сканировании ::1вместо localhost порт отображается как открытый ?
Шейн Мэдден
@ Шейн Мэдден спасибо за ваше предложение, вы были правы nmap -6 ::1 -p 8009 PORT STATE SERVICE 8009/tcp open ajp13. Не могли бы вы опубликовать это как ответ, чтобы я мог принять это?
2012 г.

Ответы:

4

Кажется, что Tomcat прослушивает только адрес обратной связи IPv6 ::1.

Шейн Мэдден
источник
1
Еще раз спасибо. Решил проблему, установив $JAVA_OPTSв /etc/profileк значению -Djava.net.preferIPv4Stack=trueи настройке Tomcat для прослушивания address="0.0.0.0".
aexl
Не знаю , почему не я первоначально upvoted это назад , когда я принял ответ 6 лет назад: /
aexl
1

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

ombble
источник
Спасибо, это может быть полезно для кого-то еще, кто имеет проблемы с установкой Tomcat.
aexl