Решено: Apache + Jira (mod_proxy) (Проблема с перенаправлением)

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС для молодых и начинающих системных администраторов.

Модераторы: SLEDopit, Модераторы разделов

Аватара пользователя
HGen
Сообщения: 13
ОС: Debian

Решено: Apache + Jira (mod_proxy)

Сообщение HGen »

Доброго времени суток.

Имеется проблема следующего характера:
небольшой офис, 3 сервера: 2 линукс (*.*.1.1 и 1.100), один из которых выступает в качестве прокси, а второй веб (все запросы по 80ому порту автоматически перенаправляются на 1.100) и вин (1.180), используемый в качестве файлового сервера + jira 4.2 (standalone, tomcat 6.0). Из локальной сети jira доступна по внутреннему ip-адресу, снаружи тоже отлично открывается по внешнему ip-адресу. Как только пытаюсь прикрутить к ней домен, получаю 503 ошибку от апача (Service Temporarily Unavailable).
Конфиг виртуального хоста на apache2 (1.100):

Код: Выделить всё

<VirtualHost *:80>
        ServerAdmin     admin@localhost
        ServerName      bt.domain.name
        ServerAlias     *.bt.domain.name
        <Proxy *>
                Order deny,allow
                Allow from all
        </Proxy>
        ProxyRequests Off
        ProxyRreserveHost On
        ProxyPass / http://192.168.1.180:8080/
        ProxyPassReserve / http://192.168.1.180:8080/
        ErrorLog /var/log/e.jira_proxy.log
        AccessLog /var/log/a.jira_proxy.log
</VirtualHost>


Кусок лога e.jira_proxy.log (1.100):

Код: Выделить всё

[Mon Oct 26 17:21:55 2010] [error] (110)Connection timed out: proxy: HTTP: attempt to connect to 192.168.1.180:8080 (192.168.1.180) failed
[Mon Oct 26 17:21:55 2010] [error] ap_proxy_connect_backend disabling worker for (192.168.1.180)
[Mon Oct 26 17:21:55 2010] [error] proxy: HTTP: disabled connection for (192.168.1.180)


conf/server.xml (1.180):

Код: Выделить всё

<?xml version="1.0" encoding="utf-8" standalone="no"?><Server port="8005" shutdown="SHUTDOWN">

    <Listener SSLEngine="on" className="org.apache.catalina.core.AprLifecycleListener"/>
    <Listener className="org.apache.catalina.core.JasperListener"/>
    <Listener className="org.apache.catalina.mbeans.ServerLifecycleListener"/>
    <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener"/>

    <Service name="Catalina">

        <Connector acceptCount="100" connectionTimeout="20000" disableUploadTimeout="true" enableLookups="false"
    maxHttpHeaderSize="8192" maxSpareThreads="75" maxThreads="150" minSpareThreads="25"
    port="8080" protocol="HTTP/1.1" redirectPort="8443" useBodyEncodingForURI="true"/>

        <Engine defaultHost="localhost" name="Catalina">
            <Host appBase="webapps" autoDeploy="true" name="localhost" unpackWARs="true">

                <Context docBase="${catalina.home}/atlassian-jira" path="" reloadable="false" useHttpOnly="true">

                    <Resource auth="Container" driverClassName="com.mysql.jdbc.Driver" maxActive="20" name="jdbc/JiraDS"
          password="dbpass" type="javax.sql.DataSource"
          url="jdbc:mysql://localhost:3306/dbname?useUnicode=true&amp;characterEncoding=UTF8"
          username="dbuser" validationQuery="select 1"/>

                    <Resource auth="Container" factory="org.objectweb.jotm.UserTransactionFactory"
          jotm.timeout="60" name="UserTransaction" type="javax.transaction.UserTransaction"/>

                    <Manager pathname=""/>
                </Context>
            </Host>

            <Valve className="org.apache.catalina.valves.AccessLogValve"
      pattern="%a %{jira.request.id}r %{jira.request.username}r %t &quot;%m %U%q %H&quot;
      %s %b %D &quot;%{Referer}i&quot; &quot;%{User-Agent}i&quot;
      &quot;%{jira.request.assession.id}r&quot;" resolveHosts="false"/>

        </Engine>
    </Service>
</Server>


Кусок iptables на 1.1:

Код: Выделить всё

-A PREROUTING -d 11.22.33.44 -i ppp1 -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.1.100:80


netstat:

Код: Выделить всё

# netstat -atnp -A inet | grep -i listen | uniq -c
      1 tcp        0      0 192.168.1.100:443           0.0.0.0:*                   LISTEN      17467/httpd2
      1 tcp        0      0 127.0.0.1:8005               0.0.0.0:*                   LISTEN      7789/java
      1 tcp        0      0 192.168.1.100:3306          0.0.0.0:*                   LISTEN      5139/mysqld
      1 tcp        0      0 0.0.0.0:587                 0.0.0.0:*                   LISTEN      5168/sendmail: acce
      1 tcp        0      0 0.0.0.0:11211               0.0.0.0:*                   LISTEN      5153/memcached
      1 tcp        0      0 192.168.1.100:80            0.0.0.0:*                   LISTEN      17467/httpd2
      1 tcp        0      0 0.0.0.0:8081                0.0.0.0:*                   LISTEN      7789/java
      1 tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      3971/sshd
      1 tcp        0      0 0.0.0.0:25                  0.0.0.0:*                   LISTEN      5168/sendmail: acce
Спасибо сказали:
Аватара пользователя
HGen
Сообщения: 13
ОС: Debian

Re: Решено: Apache + Jira (mod_proxy)

Сообщение HGen »

Проблему решил.
Я не полностью озвучил начальные условия, поэтому и ошибку было заметить крайне трудно.
1.100 - это OpenVZ. В качестве сетевого соединения было изначально настроено venet. А оно как известно - без поддержки MAC-адресов. Перенастроил на veth и все пошло.
Спасибо сказали: