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

Невозможно получить доступ к приложению Tomcat удаленно, но может получить доступ к приложениям Apache

Я устанавливаю Atlassian Confluence 4.2 на чистый сервер Ubuntu 12.04. Confluence работает на Tomcat 6 и использует PostgreSQL 9.1 в качестве хранилища данных. Я установил и настроил phpPgAdmin для управления PostgreSQL и Zentyal для управления сервером в целом. Оба эти приложения используют Apache.

Проблема, с которой я столкнулся, заключается в том, что, хотя я могу без проблем получить доступ к phpPgAdmin и Zentyal с удаленного ПК, я могу получить доступ к Confluence только при локальном запуске (указанном по localhost, IP-адресу или имени хоста). Вместо этого я получаю HTTP 502 Connection Failed ошибка.

В качестве экспериментов я также установил Ajenti, который, похоже, использует lighttpd, а не Apache или Tomcat, и он тоже отлично работает при локальном подключении, но выдает ту же ошибку HTTP 502 при удаленном подключении. Итак, приложения, обслуживаемые Apache, работают нормально, а приложения, обслуживаемые другими службами, - нет - это кому-то звонит в колокол? Прошло более 10 лет с тех пор, как я последний раз управлял системой Linux, так что я более чем немного заржавел!

Оказывается, что-то не так с моей конфигурацией iptables, которая блокировала удаленный доступ на брандмауэре. Я добавил порты 8000, 8080 и 8090 вручную, но это не сработало; поэтому я сохранил конфигурацию iptables и заметил, что соответствующий раздел был:

-A INPUT -j iglobal
-A INPUT -p icmp ! -f -m icmp --icmp-type 8 -m state --state NEW -j ACCEPT
-A INPUT -p icmp ! -f -m icmp --icmp-type 0 -m state --state NEW -j ACCEPT
-A INPUT -p icmp ! -f -m icmp --icmp-type 3 -m state --state NEW -j ACCEPT
-A INPUT -p icmp ! -f -m icmp --icmp-type 4 -m state --state NEW -j ACCEPT
-A INPUT -p icmp ! -f -m icmp --icmp-type 11 -m state --state NEW -j ACCEPT
-A INPUT -p icmp ! -f -m icmp --icmp-type 12 -m state --state NEW -j ACCEPT
-A INPUT -j idrop
-A INPUT -p tcp -m tcp --dport 8090 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 8080 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 8000 -j ACCEPT

Перемещение -A INPUT -j idrop до конца этого раздела, похоже, устранили проблему.