Tomcat не отвечает на localhost, но работает через apache2 / mod_jk - PullRequest
0 голосов
/ 01 октября 2018

Tomcat не отвечает на вызовы localhost: 8080

curl -k https://localhost/user-service/1/user

работает нормально, но

curl localhost:8080/user-service/1/user

зависает часами и никогда не отвечает.

netstat -tnlp

показывает

tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1504 / sshd
tcp6 0 0 ::: 443 ::: * LISTEN 1559 / apache2
tcp60 0 ::: 9090 ::: * LISTEN 19341 / java
tcp6 0 0 ::: 46467 ::: * LISTEN 19341 / java
tcp6 0 0 127.0.0.1:8005 ::: * LISTEN 19341 /java
tcp6 0 0 ::: 8009 ::: * LISTEN 19341 / java
tcp6 0 0 ::: 8080 ::: * LISTEN 19341 / java
tcp6 0 0 ::: 80 :::* LISTEN 1559 / apache2

, но вызов localhost даже не отображается в журналах доступа localhost

Мы запускаем apache2, mod_jk и tomcat8.

Я не вижу ошибок.Любая помощь будет принята с благодарностью.Спасибо!

1 Ответ

0 голосов
/ 01 октября 2018

Ваш экземпляр tomcat ожидает подключения по IPv6-адресу к порту 8080 (tcp6 обозначает соединение ipv6).

Чтобы решить эту проблему в каталоге TOMCAT_HOME\bin, создайте файл с именем setenv.sh (если он еще не существует) и добавьте следующее

JAVA_OPTS="$JAVA_OPTS -Djava.net.preferIPv4Stack=true -Djava.net.preferIPv4Addresses=true

. Это заставит tomcat связываться сIPv4 при перезапуске.

Вы можете проверить это, выполнив команду netstat снова и вместо просмотра tcp6 для 8080 она должна просто сказать tcp

...