5.1 behind apache ajp login the login form goes to xxx/jira instead of xxx/jira/secure which results in a 404 error

Doug Bass August 25, 2012

My server.xml file looks like:

<?xml version="1.0" encoding="utf-8"?>

<!--

====================================================================================

Atlassian JIRA Standalone Edition Tomcat Configuration.

See the following for more information

http://confluence.atlassian.com/display/JIRA/Configuring+JIRA+Standalone

====================================================================================

-->

<!--

Licensed to the Apache Software Foundation (ASF) under one or more

contributor license agreements. See the NOTICE file distributed with

this work for additional information regarding copyright ownership.

The ASF licenses this file to You under the Apache License, Version 2.0

(the "License"); you may not use this file except in compliance with

the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software

distributed under the License is distributed on an "AS IS" BASIS,

WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

See the License for the specific language governing permissions and

limitations under the License.

-->

<Server port="16851" shutdown="SHUTDOWN">

<!--APR library loader. Documentation at /docs/apr.html -->

<Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on"/>

<!--Initialize Jasper prior to webapps are loaded. Documentation at /docs/jasper-howto.html -->

<Listener className="org.apache.catalina.core.JasperListener"/>

<!-- JMX Support for the Tomcat server. Documentation at /docs/non-existent.html -->

<Listener className="org.apache.catalina.mbeans.ServerLifecycleListener"/>

<Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener"/>

<!-- Global JNDI resources

Documentation at /docs/jndi-resources-howto.html

-->

<!-- A "Service" is a collection of one or more "Connectors" that share

a single "Container" Note: A "Service" is not itself a "Container",

so you may not define subcomponents such as "Valves" at this level.

Documentation at /docs/config/service.html

-->

<Service name="Catalina">

<Connector port="16841"

maxThreads="150"

minSpareThreads="25"

maxSpareThreads="75"

connectionTimeout="20000"

scheme="https"

enableLookups="false"

maxHttpHeaderSize="8192"

protocol="AJP/1.3"

useBodyEncodingForURI="true"

redirectPort="443"

acceptCount="100"

disableUploadTimeout="true"/>

<!--

====================================================================================

To run JIRA via HTTPS:

* Uncomment the Connector below

* Execute:

%JAVA_HOME%\bin\keytool -genkey -alias tomcat -keyalg RSA (Windows)

$JAVA_HOME/bin/keytool -genkey -alias tomcat -keyalg RSA (Unix)

with a password value of "changeit" for both the certificate and the keystore itself.

* If you are on JDK1.3 or earlier, download and install JSSE 1.0.2 or later, and put the JAR files into

"$JAVA_HOME/jre/lib/ext"

* Restart and visit https://localhost:8443/

For more info, see :

http://confluence.atlassian.com/display/JIRA/Running+JIRA+over+SSL+or+HTTPS

and

http://tomcat.apache.org/tomcat-6.0-doc/ssl-howto.html

====================================================================================

-->

<!--

<Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol"

maxHttpHeaderSize="8192" SSLEnabled="true"

maxThreads="150" minSpareThreads="25" maxSpareThreads="75"

enableLookups="false" disableUploadTimeout="true"

acceptCount="100" scheme="https" secure="true"

clientAuth="false" sslProtocol="TLS" useBodyEncodingForURI="true"/>

-->

<!--

====================================================================================

If you have Apache AJP Connector (mod_ajp) as a proxy in front of JIRA you should uncomment the following connector configuration line

See the following for more information :

http://confluence.atlassian.com/display/JIRA/Configuring+Apache+Reverse+Proxy+Using+the+AJP+Protocol

====================================================================================

-->

<!--

<Connector port="8009" redirectPort="8443" enableLookups="false" protocol="AJP/1.3" URIEncoding="UTF-8"/>

-->

<Engine name="Catalina" defaultHost="localhost">

<Host name="jira.smedigitalapps.com" appBase="webapps" unpackWARs="true" autoDeploy="true">

<Alias>smedigitalapps.com</Alias>

<Alias>jira</Alias>

<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>

<!--

====================================================================================

Access Logging.

This should produce access_log.<date> files in the 'logs' directory.

The output access log lies has the following fields :

IP Request_Id User Timestamp "HTTP_Method URL Protocol_Version" HTTP_Status_Code ResponseSize_in_Bytes RequestTime_In_Millis Referer User_Agent ASESSIONID

eg :

192.168.3.238 1243466536012x12x1 admin [28/May/2009:09:22:17 +1000] "GET /jira/secure/admin/jira/IndexProgress.jspa?taskId=1 HTTP/1.1" 200 24267 1070 "http://carltondraught.sydney.atlassian.com:8090/jira/secure/admin/jira/IndexAdmin.jspa" "Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.0.10) Gecko/2009042523 Ubuntu/9.04 (jaunty) Firefox/3.0.10" "C2C99B632EE0F41E90F8EF7A201F6A78"

NOTES:

The RequestId is a millis_since_epoch plus request number plus number of concurrent users

The Request time is in milliseconds

The ASESSIONID is an hash of the JSESSIONID and hence is safe to publish within logs. A session cannot be reconstructed from it.

See http://tomcat.apache.org/tomcat-6.0-doc/config/valve.html for more information on Tomcat Access Log Valves

====================================================================================

-->

<Valve className="org.apache.catalina.valves.AccessLogValve" resolveHosts="false"

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;"/>

</Engine>

</Service>

</Server>

4 answers

1 accepted

0 votes
Answer accepted
Doug Bass August 25, 2012

It seems a new ajp configuration was required for JIRA 5.1. Setting this:

JkMount /jira/* jira_worker

Solved the problem.

Thanks.

0 votes
Dattatray Borude
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.
February 26, 2013
<th>Test</th><th>Result</th>
Entered Invalid Credential >>It give error "Invalid Credential" and return to Login page
Entered valid Credential >>It validated and redirecting to JIRA but nothing... just loading..loading

Not sure if there is change in the tomcat 7 ot JIRA 5.2.7. or PORT which we are using in the ajp connector tag (8017 or 8443).

0 votes
Dattatray Borude
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.
February 26, 2013

How to find correct Connector port="????"

0 votes
FagnerF
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.
September 11, 2012

Hi Doug,

After look your last msg I guess you solved it. However I'd like to share the following:

Into server.xml

#If you want to use AJp Connector you have to uncomment the lines below

&lt;Connector port="8009" redirectPort="8443" enableLookups="false" protocol="AJP/1.3" URIEncoding="UTF-8"/&gt;

In addition you can check out the official documentation for JIRA 5.1 + AJP Connector.

Cheers

Suggest an answer

Log in or Sign up to answer