How to get the Fisheye gadget "Recent Changesets" to work in JIRA when http.proxyHost is configured?

Chad Barnes
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.
October 6, 2011

In my JIRA catalina.properties file I have:

http.proxyHost=<our proxy IP>

http.proxyPort=<our proxy port>

http.nonProxyHosts=localhost|127.0.0.1|<the local IP>

The intent of these properties are to allow for the plugin manager and gadgets/widgets to contact the internet. And, it works. With these settings the Plugin Manager gets through our proxy to plugins.atlassian.com.

However, now calls to Fisheye (installed on the same server; localhost) are going through the proxyHost (it seems the nonProxyHosts property is ignored). The Fisheye logs indicate that the web proxy's IP is not allowed. These errors do not occur if I remove the proxyHost setting (but then Plugin Manager and external gadgets stop working).

2011-09-28 15:34:29,454 WARN  [btpool0-351 ] com.atlassian.security.auth.trustedapps.filter.TrustedApplicationFilterAuthenticator com.atlassian.security.auth.trustedapps.filter.TrustedApplicationFilterAuthenticator-authenticate - Failed to login trusted application: jira:7809542 due to: com.atlassian.security.auth.trustedapps.InvalidCertificateException: Request not allowed from IP address: &lt;our proxy's IP address&gt;

2011-09-28 15:34:29,455 ERROR [btpool0-351 ] com.atlassian.fisheye.trustedapplications.FisheyeAuthenticationListener com.atlassian.fisheye.trustedapplications.FisheyeAuthenticationListener-authenticationError - Error handling trusted applications authentication attempt:BAD_REMOTE_IP;	Request not allowed from IP address: {0};	["&lt;our proxy's IP address&gt;"]

I tried this (https://jira.atlassian.com/browse/JRA-20715) and my Fisheye gadget still could not return recent change sets in JIRA when proxyHost, proxyPort, and nonProxyHosts were defined.

Is there a way for me to use a web proxy for my external http requests (plugin manager, external gadgets, etc.) and NOT use it for my internal http (localhost and intranet) requests?

2 answers

1 accepted

0 votes
Answer accepted
Chad Barnes
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.
November 13, 2011

What ended up being the problem was the use of IP adresses. The XFire libraries were not translating hostnames to IP addresses. I had to put the hostnames in the nonProxyHosts property instead of just the IP addresses.

http.nonProxyHosts=localhost|127.0.0.1|<the local IP>|<the local host name>|<another local host name alias>|etc.

2 votes
Thomas Wendel
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.
October 27, 2011

Hi Chad,

I had a similar problem a while ago and I found several tips on the internet for the http.nonProxyHosts parameter. It took a bit of experimenting with all the tips I found but in the end I using just one host instead of several seperated by a pipe symbol did the trick (the other Atlassian applications where all on the same server, so there was no problem for Application Links etc). Maybe one of the following might work for you:

  • Use only one host in http.nonProxyHosts. This might not be the right solution, if your FishEye needs to connect to other servers within the LAN and you need to exclude more than one host: E.g. http.nonProxyHosts=localhost or http.nonProxyHosts=<the local IP>
  • Put quotes around the string: E.g. http.nonProxyHosts="localhost|127.0.0.1|<the local IP>"
  • Escape the pipe symbol: E.g.http.nonProxyHosts=localhost\|127.0.0.1\|<the local IP>

I hope one of those works for you.

Cheers,

Thomas

Suggest an answer

Log in or Sign up to answer