3 votos

Puerto JIRA y proxy inverso de Apache

Estoy tratando de configurar un proxy inverso con Apache y la instancia de Tomcat incluida con JIRA. He seguido las instrucciones en la wiki de JIRA al pie de la letra. El sitio se muestra perfectamente en http://nuestrodominio:8080/jira, así que sé que el archivo server.xml de Tomcat ha sido configurado correctamente según sus instrucciones.

Sin embargo, no puedo hacer funcionar el proxy inverso de Apache, por razones que me eluden a pesar de haber leído considerablemente al respecto.

Estoy ejecutando Apache2.2 en Ubuntu con mod_proxy y mod_proxy_http habilitados, por supuesto. El sitio default funciona bien; mi configuración de sitio es simplemente una versión modificada de eso. Aquí está mi configuración de host virtual jira en /etc/apache2/sites-enabled/jira:

    ServerAdmin webmaster@localhost

    ServerName nuestrodominio.com

    DocumentRoot /var/www

        Options FollowSymLinks
        AllowOverride None

        Options Indexes FollowSymLinks MultiViews
        AllowOverride None
        Order allow,deny
        allow from all

    ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/

        AllowOverride None
        Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
        Order allow,deny
        Allow from all

ErrorLog ${APACHE_LOG_DIR}/error.log

# Los valores posibles incluyen: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn

    CustomLog ${APACHE_LOG_DIR}/access.log combined

    Alias /doc/ "/usr/share/doc/"

        Options Indexes MultiViews FollowSymLinks
        AllowOverride None
        Order deny,allow
        Deny from all
    Allow from 127.0.0.0/255.0.0.0 ::1/128

    # Configuración de Proxy para JIRA

        Order deny,allow
        Allow from all

    ProxyRequests       Off
    ProxyPreserveHost   On
    ProxyPass           /jira      http://nuestrodominio.com:8080/jira
    ProxyPassReverse    /jira      http://nuestrodominio.com:8080/jira

Cuando ingreso al sitio en un navegador, obtengo un 404 Not Found con el siguiente texto estándar:

La URL solicitada /jira no se encontró en este servidor


Apache/2.2.22 (Ubuntu) Servidor en nuestrodominio.com Puerto 80

Mientras tanto, la salida de apachectl -S es:

Configuración de host virtual:
wildcard NameVirtualHosts y servidores _default_:
*:80                   es un NameVirtualHost
     servidor predeterminado ourdomain.com.com (/etc/apache2/sites-enabled/000-default:1)
     nombrevhost puerto 80 ourdomain.com (/etc/apache2/sites-enabled/000-default:1)
     nombrevhost puerto 80 ourdomain.com (/etc/apache2/sites-enabled/jira:1)

Así que puedo acceder al sitio perfectamente en nuestrodominio.com:8080/jira pero no en nuestrodominio.com/jira.

Posiblemente esa última línea indique el problema - ¿debería estar escuchando en puerto 8080 en su lugar, y en consecuencia debería cambiar la entrada de vhost anterior?

Claramente tengo algo mal, pero no lo veo; mi configuración parece coincidir exactamente con la especificada en las instrucciones de la wiki de JIRA. Cualquier ayuda sería muy apreciada. He revisado varias respuestas aquí, y tampoco tuve suerte con esas.

2voto

Phil Puntos 2153

Tengo nuestro JIRA configurado de manera casi idéntica aunque con un proxy hacia un sitio seguro.

La única diferencia que puedo ver entre mi configuración y la tuya es que dejé el existente /etc/apache2/sites-enabled/000-default como está:

    ServerAdmin webmaster@localhost

    DocumentRoot /var/www

            Options FollowSymLinks
            AllowOverride None

            Options Indexes FollowSymLinks MultiViews
            AllowOverride None
            Order allow,deny
            allow from all

    ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/

            AllowOverride None
            Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
            Order allow,deny
            Allow from all

    ErrorLog ${APACHE_LOG_DIR}/error.log

    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn

    CustomLog ${APACHE_LOG_DIR}/access.log combined

Alias /doc/ "/usr/share/doc/"

    Options Indexes MultiViews FollowSymLinks
    AllowOverride None
    Order deny,allow
    Deny from all
    Allow from 127.0.0.0/255.0.0.0 ::1/128

Pero luego agregué un nuevo archivo /etc/apache2/sites-enabled/jira-mod_proxy que contenía

Order deny,allow
Allow from all

SSLProxyEngine on
ProxyRequests       Off
ProxyPreserveHost On
ProxyPass           /jira       https://localhost:8443/jira
ProxyPassReverse    /jira       https://localhost:8443/jira

Si ignoras los puertos 8443 que uso para SSL entonces las únicas diferencias que veo son

  1. usar localhost en lugar de un FQDN pero eso no debería importar porque puedes acceder a tu sitio en http://nuestrodominio:8080/jira así que obviamente tomcat está escuchando en tu dirección IP real

  2. Tener la configuración fuera del elemento .

¿Entonces tal vez la configuración del Proxy necesita estar fuera de la configuración del host virtual?

1voto

Shane Madden Puntos 81409

Tienes un ServerName ourdomain.com en /etc/apache2/sites-enabled/000-default, y un ServerName ourdomain.com en /etc/apache2/sites-enabled/jira. El que está en 000-default tiene prioridad porque está primero alfabéticamente; tu configuración de jira no está siendo utilizada.

Cambia la línea ServerName ourdomain.com en el archivo 000-default, o simplemente a2dissite default si no lo estás utilizando.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X