Почему Tomcat начинается с 0.0.0.0:8000? - PullRequest
0 голосов
/ 01 июня 2011

Я знаю, что короткий ответ: «Ты сказал это». Но, конечно, я не уверен, как я сказал Tomcat начинать с открытым отладочным портом 8000 по умолчанию, но на 0.0.0.0 вместо ожидаемого 127.0.0.1. Вот пара контекстных команд непосредственно после загрузки Ubuntu 10.10.

$ netstat -lnt
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:8000            0.0.0.0:*               LISTEN     
tcp6       0      0 127.0.0.1:8080          :::*                    LISTEN     
tcp6       0      0 ::1:631                 :::*                    LISTEN     
tcp6       0      0 127.0.0.1:8005          :::*                    LISTEN     

/usr/share/tomcat6/bin$ grep -C 5 8000 catalina.sh
#
#   JPDA_TRANSPORT  (Optional) JPDA transport used when the "jpda start"
#                   command is executed. The default is "dt_socket".
#
#   JPDA_ADDRESS    (Optional) Java runtime options used when the "jpda start"
#                   command is executed. The default is 8000.
#
#   JPDA_SUSPEND    (Optional) Java runtime options used when the "jpda start"
#                   command is executed. Specifies whether JVM should suspend
#                   execution immediately after startup. Default is "n".
#
--
if [ "$1" = "jpda" ] ; then
  if [ -z "$JPDA_TRANSPORT" ]; then
    JPDA_TRANSPORT="dt_socket"
  fi
  if [ -z "$JPDA_ADDRESS" ]; then
    JPDA_ADDRESS="8000"
  fi
  if [ -z "$JPDA_SUSPEND" ]; then
    JPDA_SUSPEND="n"
  fi
  if [ -z "$JPDA_OPTS" ]; then

Учитывая эти два вывода, я ожидаю обнаружить, что где-то есть еще один файл конфигурации, который я неосознанно изменил, поскольку единственный способ, которым catalina.sh откроет 8000, - это если ему был передан переключатель jpda, и даже тогда кажется, что он начнется localhost, а не 0.0.0.0. .bashrc чистый от дурацкого дурака, и я в тупике, где еще искать!

Ответы [ 2 ]

1 голос
/ 02 июня 2011

Время освежить RFC4632 , память стала ржавой.

0.0.0.0 является маршрутом по умолчанию , и в случае Tomcat используется для указания того, что любой IP на порту 8000 будет направлен в Tomcat (предположительно для отладки ).

Вкратце, на Tomcat 0.0.0.0:xxxx перенаправит любой запрос с портом xxxx на Tomcat.

0 голосов
/ 25 апреля 2019

Это может быть потому, что JPDA_ADDRESS равен "8000", а не "localhost: 8000" if [-z "$ JPDA_ADDRESS"];затем JPDA_ADDRESS = "localhost: 8000" fi

...