Не вдається підключитися до 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. Я також отримував помилку під час ініціалізації VM Не вдалося зарезервувати достатньо місця для купи об’єктів. час від часу помилка, але, мабуть, це не проблема, оскільки Tomcat все одно не відповідає.

Вибачте за стільки тексту - я намагався бути інформативним. Будь ласка, допоможи мені. Заздалегідь спасибі!

ОНОВЛЕННЯ Як зазначено у відповіді, Tomcat слухав на порту IPv6. Щоб змінити це, мені довелося додати до /etc/profileфайлу змінну середовища для машини JAVA

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.

Дякую за витрачений час та всім приємного дня.


Чи відображається порт як відкритий при скануванні ::1замість localhost?
Шейн Мадден

@Shane Madden дякую за вашу пропозицію, ви мали рацію : nmap -6 ::1 -p 8009 PORT STATE SERVICE 8009/tcp open ajp13. Будь ласка, опублікуйте це як відповідь, щоб я міг прийняти його?
aexl

Відповіді:


4

Tomcat , здається, слухає тільки IPv6 - адреса зворотного зв'язку, ::1.


1
Ще раз дякую. Вирішив проблему, встановивши $JAVA_OPTSв /etc/profileдо значення -Djava.net.preferIPv4Stack=trueта налаштування Tomcat для прослуховування address="0.0.0.0".
aexl

Не впевнений, чому я спочатку не звернувся до цього, коли прийняв відповідь 6 років тому: /
aexl

1

Це пахне проблемою з брандмауером - спробуйте відкрити відповідні правила у брандмауері (подумайте, як просто пускати все в режим / вимикання lo, я ніколи не бачив законного випадку обмеження зворотного трафіку).


Дякую, це може бути корисним для когось іншого, хто має проблеми з установкою Tomcat.
aexl
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.