Application Link between Jira and Confluence fails

Atle Rinvoll April 22, 2013

Hi

I have Jira and Confluence installed on the same server behind Apache with reverse proxy and SSL.

http://<my domain>:8009/jira -> https://<my domain>/jira and

http://<my domain>:8009/conf -> https://<my domain>/conf

I have added Confluence to the JIRA User Server.

Both applications start up and they share the same login base. Works fine. Both urls accessible.

They also share the same keystore. This keystore is added to the JAVA_OPTS for both applications. In addition I have extracted a key and a crt file from this keystore to use in Apache. I have also added

-Dhttp.proxyHost=<my domain>
-Dhttp.proxyPort=443
-Dhttps.proxyHost=<my domain>
-Dhttps.proxyPort=443
-Dhttp.nonProxyHosts=X.Y.*.*|127.0.0.1|localhost (X and Y is the first 2 numbers of the <my domain> ip))

Now to the problem. Setting up an application link between the two.

I made sure the base url for both applications is correct (https://<my domain>/jira and https://<my domain>/conf).

In Confluence, I opened the Application Link dialog and wrote the url to Jira. This did not work: The host doesn't respond. Change the URL or click Next to confirm

I tried the same from Jira and get the same result. The urls are accessable from the browser.

If I change <my domain> with localhost, I manage to create the application link, but it doesn't seem to work properly. I am not able to link Jira issues in Confluence or vice versa.

This server runs in a DMZ environment. When I run this on a test server it works fine.

Any ideas to what the problem is?

Cheers

\Atle

3 answers

1 accepted

7 votes
Answer accepted
Atle Rinvoll April 27, 2013

Thanks for your help Ryan.

I've been trying different solutions to this withot luck, so I will open a ticket tomorrow and provide the config files I use.

Thanks again

Cheers

\Atle

2 votes
Atle Rinvoll May 5, 2013

The fix to my problem was as follows:

I had the proxy settings both in the JAVA_OPTS and in the server.xml files. I removed them from the JAVA_OPTS and I was able to set up the application links. (I removed the -Dhttps.proxyHost etc)

Cheers

\Atle

1 vote
Ryan Goodwin
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.
April 23, 2013

Hi Atle,

Are there relevant error messages in the atlassian-confluence.log after you try to setup the application link from confluence? This would give us some more insight instead of speculating where the configuration might be wrong.

Atle Rinvoll April 23, 2013

Hi

Sorry. Forgot to add the logs.

Here is what I get in the atlassian-confluence.log:

2013-04-24 09:19:04,064 ERROR [http-8090-5] [core.rest.ui.CreateApplicationLinkUIResource] tryToFetchManifest ManifestNotFoundException thrown while retrieving manifest

-- url: /docs/rest/applinks/1.0/applicationlinkForm/manifest.json | userName: rinvoatl | referer: https://cmw.fs.tieto.com/docs/admin/listapplicationlinks.action

com.atlassian.applinks.spi.manifest.ManifestNotFoundException: org.apache.commons.httpclient.NoHttpResponseException: The server cmw.fs.tieto.com failed to respond

at com.atlassian.applinks.core.manifest.AppLinksManifestDownloader.download1(AppLinksManifestDownloader.java:185)

at com.atlassian.applinks.core.manifest.AppLinksManifestDownloader.access$000(AppLinksManifestDownloader.java:41)

at com.atlassian.applinks.core.manifest.AppLinksManifestDownloader$1$1.<init>(AppLinksManifestDownloader.java:83)

at com.atlassian.applinks.core.manifest.AppLinksManifestDownloader$1.apply(AppLinksManifestDownloader.java:76)

at com.atlassian.applinks.core.manifest.AppLinksManifestDownloader$1.apply(AppLinksManifestDownloader.java:73)

at com.google.common.collect.ComputingConcurrentHashMap$ComputingValueReference.compute(ComputingConcurrentHashMap.java:355)

at com.google.common.collect.ComputingConcurrentHashMap$ComputingSegment.compute(ComputingConcurrentHashMap.java:184)

at com.google.common.collect.ComputingConcurrentHashMap$ComputingSegment.getOrCompute(ComputingConcurrentHashMap.java:153)

at com.google.common.collect.ComputingConcurrentHashMap.getOrCompute(ComputingConcurrentHashMap.java:69)

...
Caused by: org.apache.commons.httpclient.NoHttpResponseException: The server cmw.fs.tieto.com failed to respond
at org.apache.commons.httpclient.HttpMethodBase.readStatusLine(HttpMethodBase.java:1976)
at org.apache.commons.httpclient.HttpMethodBase.readResponse(HttpMethodBase.java:1735)
at org.apache.commons.httpclient.HttpMethodBase.execute(HttpMethodBase.java:1098)
at org.apache.commons.httpclient.ConnectMethod.execute(ConnectMethod.java:185)
at org.apache.commons.httpclient.HttpMethodDirector.executeConnect(HttpMethodDirector.java:496)
at org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:391)
at org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:171)
at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:397)
...
Cheers
\Atle
Ryan Goodwin
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.
April 23, 2013

Hi Atle,

Thanks for the logs. Why does the log point to a referrer url like this one ? :

https://cmw.fs.tieto.com/docs/

but in your configuration description, that is not the url you described:

http://<my domain>:8009/conf -> https://<my domain>/conf

I also see in the ERROR message http:8090-5. Is this not a reference to the thread on that port number, then thread 5 or similar?

I would say there are some descrepencies here, but again it's hard to tell without seeing the actual server.xml files, ports, apache config files etc. It's one thing to describe the setup - which you have done very well, things SOUND correct - and it is another thing to look at actual files and see the configurations as they really are. Often there can be a small error in there which causes things to misbehave.

I'm going to wager this is a proxy misconfiguration. If you remove the proxy from the equation, change the baseurl's to machinename:port/contextpath, access the application from that URL, then try to create the applink. See if this works. If yes, we should probably take this over to an official support ticket and have a look-see under the hood of the proxy config (though this is not supported we usually have a pretty good idea of how to get it up and running).

Or you can try referencing this doc and running through the steps for jira and confluence again and see if everything is done correctly:

https://confluence.atlassian.com/display/DOC/Using+Apache+with+mod_proxy


Atle Rinvoll April 25, 2013

Hi Ryan,

sorry for the confusing info.

The links were meant as examples. The real links I use are:

https://cmw.fs.tieto.com/docs and https://cmw.fs.tieto.com/issues

These are also the base urls in the applications.

I guess 8090-5 refeers to thread 5 on that port but I am not sure what that means. I have not done any config. regarding threads for my applications.

I will try what you suggest and open an official support ticket if it works. I could also post the content of teh files here. I guess it is safe as long as I don't show any passwords?

Thanks for very good feed back on my problem.

Cheers

\Atle

Ryan Goodwin
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.
April 26, 2013

Hi Atle,

We don't officially support proxy configs, but usually we'll take a look and see if we can spot the trouble areas. I never like saying open a support ticket from this channel, but I think this time you should so you can provide your config files in privacy and have an engineer take a look.

Suggest an answer

Log in or Sign up to answer