| Third Party Web Server Support Please note that support for third-party web servers is provided on a best-effort basis. Please see the How to Get Legendary Support from Atlassian for more information. |
FishEye has a built-in web server, but commonly runs in an environment that has its own web server. You can easily proxy through to FishEye from this primary web server, so that it appears as if FishEye is part of the primary web server.
In most situations, FishEye can determine the host and port of the primary web server automatically. This is useful when you have multiple virtual hosts proxied through to the one FishEye instance.
If it appears FishEye is having trouble automatically detecting the primary web server's host and port, you will need to set the Proxy host and Proxy port parameters. If the primary web server is running on WEBHOST:80 and FishEye is running on FEHOST:8060, then you can set FishEye's Proxy host and Proxy port parameters to WEBHOST and 80.
If the primary web server is using SSL, add the parameter proxy-scheme="https" to the connecting server as in the following example:
You will probably want FishEye to appear in a subdirectory of the primary server. In that case, you need to set FishEye's web context parameter. The rest of the page assumes you have set this value to fisheye.
You will need to restart FishEye before any of the above parameters take effect.
Then, configure your primary web server as described below.
Apache
The easiest way to proxy through to FishEye is using the ProxyPass directive, which requires the mod_proxy module. Add this section to your Apache configuration:
If you want Apache to serve FishEye's static content, then you can do something like this instead:
|
An alternative to using |
AJP
FishEye also supports AJPv13 connectivity. For more information, please see AJPv13 Authentication.







12 Comments
Hide/Show CommentsJan 21, 2008
Dieter Wimberger
Tomcat 5+
I have a working setup that uses a reverse proxy to Fisheye from Tomcat 5+.
Given that I did not want to spam the comments, I have posted it here:
Proxy through to Fisheye from Tomcat5+
Feb 02, 2009
Ludovic Lambert
If you're proxying FishEye via Apache mod_proxy_http, you may encounter encoding issue when filename contains special characters (I do) ending up with a
java.lang.IllegalArgumentException Not encodederror.The following Apache configuration fixes my problem:
Reference: http://httpd.apache.org/docs/2.2/mod/mod_proxy.html
Search for the
nocanonoption.Jan 20, 2010
Anonymous
Maybe the example could state that the "web context" attribute should be like: context="fisheye"
Nov 15, 2010
Anonymous
Additionally, it seems to me that the context="fisheye" parameter needs to be part of the web-server tag, not the http tag. See below:
<web-server context="fisheye">
<http bind=":8060"/>
</webserver>
Nov 22, 2010
David Smiley
The ideal way to integrate to Apache is using AJP. See this comment. This documentation page suggests you should only bother if you're doing authentication.
Dec 05, 2010
Tim Long
I would appreciate a walkthrough for configuring IIS6 as the proxy server. The example given for Jira is excellent and I have that working, but I've tried to set this up for Fisheye and I just get errors in the ISAPI log. I am focussed mainly on the Microsoft solution stack so I'm very comfortable with the IIS side of things but I have no knowledge of Apache or Java application servers so it's incredibly difficult for me to accomplish tasks with Atlassian products unless everything is spelt out explicitly. Here's an example of the log output:
Any ideas?
Jul 20, 2011
mike belshe
Once again, Atlassian's buggy instructions fail. If you're trying to put it fisheye behind a proxy, fisheye issues urls which begin with
http://foo.com/static/.....
NOT
http://foo.com/fisheye/static/...
But, the docs don't SAY anything about how to move their urls to a subdirectory.
I hate all atlassian software. The installation instructions are scattered, incomplete, and buggy. What should take 15 minutes to setup will take you a week. On top of that, I've never seen such a memory hog. At 600MB to run an empty installation, it's really quite prohibitive. I can only imagine how much RAM it would use if it had any data in it.
Aug 17, 2011
Anonymous
Mike, you should really read all the documentation available. Setting the context of fisheye is quite simple, and documented well.
Aug 18, 2011
Tim Long
Mike's somewhat bitter appraisal might be over zealous but he does have a point. Those of us who run a Microsoft infrastructure are used to better. Find a knowledge base article on how to do something and it might reference other articles for information, but all the instructions you need are always right there in the one article. Also, it's clear that the Microsoft solution stack is not a priority for Atlassian and the documentation is often weak or out of date in that area. Information on proxying behind IIS is a good example of this weakness, there is no mention anywhere of how to proxy behind IIS7 using Application Request Routing, for example. The documentation refers to using an ISAPI module which is no longer the best way of doing things. Another example: setting up Fisheye to run as a Windows Service is +painful+ for a Windows admin. All that copying of files and editing .conf files. Jira has it right, creating the Windows Service is part of the setup. Why can't Atlassian replicate that technology for Fisheye?
Sep 26, 2011
Paul Southworth
I recently configured Crucible behind an nginx reverse proxy. It was easy except for one thing: you have to add the nginx directive "merge_slashes off" to prevent nginx from corrupting URLs when they are passed to Crucible. Sadly this directive is not described in the English documentation for nginx. I put something like this in the http section of the config.
merge_slashes off;
server {
listen 443 ssl;
server_name crucible.example.com;
access_log /var/log/nginx/access.log main;
ssl_certificate /etc/pki/tls/certs/crucible.crt;
ssl_certificate_key /etc/pki/tls/private/crucible.key;
ssl_ciphers HIGH:+TLSv1:+SSLv3:!MEDIUM:!LOW:!ADH:!aNULL:!eNULL:!NULL;
ssl_prefer_server_ciphers on;
ssl_protocols SSLv3 TLSv1;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
location / {
proxy_pass http://localhost:8060/;
}
}
server {
listen 80;
server_name crucible.example.com;
rewrite ^(.*) https://$server_name$1 permanent;
}
Dec 21, 2011
Jesse
I've got an Apache Reverse Proxy setup on a different machine than Fisheye/Crucible is hosted on. Everything seems to work until I get to the Administrator section, which returns a blank page.
My config.xml:
My Apache Config:
Thanks for any input!
Jan 10, 2012
Anonymous
Hey everyone,
You can configure the proxy settings from within FishEye's GUI:
Configuring the FishEye Web Server
Add Comment