Вы могли бы сделать больше отладки. Вы не упомянули свою топологию сети - ваш компьютер с Windows 7, на котором запущен tomcat 6, за каким-то NAT? Вы упомянули несколько машин (окно Ubuntu), так что я бы предположил, что это так, если только у вас нет какого-то экзотического сценария, когда каждая отдельная машина имеет маршрутизируемый публичный IP-адрес (я видел, что некоторые поставщики aDSL делают это несколько раз здесь, для некоторая причина).
Первое, что я хотел бы проверить, если у вас есть NAT-маршрутизатор, будет ли IP-адрес вашего локального компьютера статическим, и если есть соответствующая запись переадресации порта для порта 80/8080 (вы упомянули, что пробовали оба), отправляющего весь трафик в соответствующий порт вашей локальной машины.
Во-вторых, я бы проверил netstat
чтобы убедиться, что tomcat действительно прослушивает правильный локальный IP-адрес и порт на вашем локальном компьютере или 0.0.0.0 (inaddr_any), а не какой-то дополнительный вторичный IP-адрес, который у вас может быть, или только localhost (127.0.0.1). Соответствующие варианты будут:
netstat -abn
Который, если все в порядке, вернет вывод, содержащий что-то вроде:
TCP [::]:80 [::]:0 LISTENING
[java.exe]
Я видел этот сценарий несколько раз (хотя только в Linux, я почти никогда не запускал J2EE на своем рабочем столе Windows), где tomcat связывал бы свой сокет только с адресом ipv6 компьютера (ipv6 обычно включен по умолчанию в Windows 7 и большинстве современные операционные системы), а не ipv4.
Когда настроено прослушивать inaddr_any, это приводило к большой боли. В этом случае просто добавьте: -Djava.net.preferIPv4Stack=true
к параметрам JVM в файлах конфигурации tomcat. Это могло появиться после обновления Java, но маловероятно, что tomcat6 обычно запускает полный JDK при правильной настройке. Это также маловероятно, так как я полагаю, что описанный выше сценарий Linux проистекает из "ошибки" glibc (или, скорее, неясного поведения), особенности которой меня избегают в данный момент - но это все же стоит проверить, просто чтобы убедиться.
Если ваш провайдер действительно отфильтровал порты 80 и 8080, я бы попробовал какой-нибудь случайный порт с высокой пропускной способностью, такой как 6508, просто чтобы посмотреть, работает ли он лучше. Во что бы то ни стало обновите свою конфигурацию переадресации порта (если применимо), чтобы отразить это.
Если вы не предоставите более подробную информацию о вашей настройке, я сомневаюсь, что мы сможем вам помочь, к сожалению :(