JIRA+Confluence+Crowd (on same VM Guest) behind apache mod_proxy(VM Host) issues

Dane Sarcone June 13, 2013

So I'll start of with I have confluence working perfectly at the moment, but I can't seem to get JIRA or Crowd to work (Catalina vs coyote??).

Basic Setup (Note I am not bridging to my guests I am routing, I have public IP's for them due to MAC issues with my hoster)

Internet>VM Host(Apache+Firewall)>VM Guest(Crowd,JIRA,Confluence)

All my base urls are set up, cjc.domain.org:8###/(jira confluence crowd) - Check the Apache Config

I've been messing with this for a few days and hit a wall, any pointers in the right direction would help, below is what I belive to be all the relevant configs.

Thanks!!

Confluence server.xml snippet

<Server port="8000" shutdown="SHUTDOWN" debug="0">
    <Service name="Tomcat-Standalone">
        <Connector className="org.apache.coyote.tomcat4.CoyoteConnector" port="8090" minProcessors="5"
                   maxProcessors="75"
                   enableLookups="false" redirectPort="8443" acceptCount="10" debug="0" connectionTimeout="20000"
                   useURIValidationHack="false" URIEncoding="UTF-8"
                   proxyName="www.domain.org" proxyPort="80"/>

        <Engine name="Standalone" defaultHost="localhost" debug="0">

            <Host name="localhost" debug="0" appBase="webapps" unpackWARs="true" autoDeploy="false">

                <Context path="/confluence" docBase="../confluence" debug="0" reloadable="false" useHttpOnly="true">
                    <!-- Logger is deprecated in Tomcat 5.5. Logging configuration for Confluence is specified in confluence/WEB-INF/classes/log4j.properties -->
                    <Manager pathname="" />
                </Context>
            </Host>

        </Engine>

JIRA server.xml snippet

<Service name="Catalina">

        <Connector port="8080"

                   maxThreads="150"
                   minSpareThreads="25"
                   connectionTimeout="20000"

                   enableLookups="false"
                   maxHttpHeaderSize="8192"
                   protocol="HTTP/1.1"
                   useBodyEncodingForURI="true"
                   redirectPort="8443"
                   acceptCount="100"
                   disableUploadTimeout="true" URIEncoding="UTF-8"
                   proxyName="www.domain.org" proxyPort="80"/>

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

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


                    <!--
                     ====================================================================================

                     Note, you no longer configure your database driver or connection parameters here.
                     These are configured through the UI during application setup.

                     ====================================================================================
                    -->

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

            </Host>


Crowd server.xml snippet

 <Connector acceptCount="100" connectionTimeout="20000" 
disableUploadTimeout="true" enableLookups="false"
maxHttpHeaderSize="8192" maxSpareThreads="75" maxThre$ proxyName="www.domain.org" proxyPort="80" />


Apache Config

# Put this after the other LoadModule directives
LoadModule proxy_module /usr/lib/apache2/modules/mod_proxy.so
LoadModule proxy_http_module /usr/lib/apache2/modules/mod_proxy_http.so

# Put this with your other VirtualHosts, or at the bottom of the file
NameVirtualHost *:80

<VirtualHost *:80>
    ServerName www.domain.org

    ProxyRequests Off
    ProxyPreserveHost On
    <Proxy *>
        Order deny,allow
        Allow from all
    </Proxy>

    ProxyPass /confluence http://cjc.domain.org:8090/confluence
    ProxyPassReverse /confluence http://cjc.domain.org:8090/confluence
    ProxyPass / http://cjc.domain.org:8090/confluence
    ProxyPassReverse / http://cjc.domain.org:8090/confluence
    ProxyPass /jira http://cjc.domain.org:8090/jira
    ProxyPassReverse /jira http://cjc.domain.org:8090/jira
    ProxyPass /crowd http://cjc.domain.org:8095/crowd    
ProxyPassReverse /crowd http://cjc.domain.org:8095/crowd
<Location /> Order allow,deny Allow from all </Location> </VirtualHost>

1 answer

0 votes
twong_atlassian
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
June 16, 2013

What's the behavior? What do you mean when it doesn't work?

Assuming that www.domain.org in all three of your connectors resolves to your reverse proxy?

Anything in the apache error.log?

I'd turn on valve logging in JIRA/crowd to see if any request is making it over there.

I noticed that your first declaration is the Confluence one, and that's the one that is working. Have you tried re-ordering them to see if it follows?

Suggest an answer

Log in or Sign up to answer