Назад | Перейти на главную страницу

Время ожидания Tomcat Solr истекло

(Сервер Plesk 10.4 centos 5.8 linux apache2, с Tomcat5 на порту 8080 и Apache Solr)

Я получаю сообщение «Время ожидания соединения истекло» при запросе domain.com:8080 или www.domain.com:8080 или ip.ad.dr.ess: 8080

Все причины, по которым я могу найти, почему это может быть, кажутся не так:

:

tcp     0      0 0.0.0.0:8080       0.0.0.0:*     LISTEN      4018/java

Это покрывает все причины этого тайм-аута, которые я могу найти - так что я, должно быть, упускаю что-то фундаментальное.

Кажется, что Tomcat работает, прослушивает правильный порт, получает соответствующий IP-адрес, ему не мешает брандмауэр, и он не дает сбоев после получения запроса способом, который будет записан в журналы (так что я считаю, что это возможно) не хватает памяти или что-то в этом роде).

У меня нет идей, как продолжить отладку. Должно быть, я пропустил что-то очевидное. Кто-нибудь может помочь?

Ну, оказывается, есть межсетевые экраны, а есть брандмауэры.

Я ни в коем случае не предполагал, что установки правила разрешения доступа для порта в пользовательском интерфейсе брандмауэра Parrallels / Plesk / VZ было достаточно, чтобы брандмауэр не блокировал доступ к этому порту. Я был неправ, этот пользовательский интерфейс не затрагивает полностью отдельный уровень межсетевого экрана на основе iptables, который блокировал доступ к 8080 для всех IP-адресов, кроме выбранных.

В моей настройке Plesk (которая может быть специфичной для моего хостинга, я не уверен) решение заключалось в том, чтобы добавить правила в /etc/firewall/include которые выглядят так:

$IPTABLES -I INPUT -p tcp --dport 8080 -s ip.ad.dr.ess -j ACCEPT
$IPTABLES -I OUTPUT -p tcp --sport 8080 -d ip.ad.dr.ess -j ACCEPT

...с последующим service firewall restart (замена ip.ad.dr.ess на IP-адреса, которые вы хотите добавить в белый список). Я почти уверен, что в большинстве случаев хостинга вы можете просто запускать эти строки как команды с /sbin/iptables вместо того $IPTABLES, но иметь файл с пользовательскими настройками брандмауэра очень удобно.

Я предполагаю, что это случай «Если вы дадите человеку костыль (например, Plesk), он решит, что может опереться на этот костыль»