Nginx Reverse Proxy – Configuring Fisheye with Nginx

fisheyenginxproxypassreverse-proxy

I'm trying to run Fisheye behind a proxy. So far, I've managed to get Jira and Stash to work behind the proxy, but not Fisheye.

Here's my config file in Nginx:

server {

listen   80;

server_name  dev.int.com;

access_log off;

location / {

proxy_pass http://IP:8080;

proxy_set_header    Host            $host;

proxy_set_header    X-Real-IP       $remote_addr;

proxy_set_header    X-Forwarded-for $remote_addr;

port_in_redirect off;

proxy_redirect   http://IP:8080/jira  /;

proxy_connect_timeout 300;

}



location ~ ^/stash {

proxy_pass http://IP:7990;

proxy_set_header    Host            $host;

proxy_set_header    X-Real-IP       $remote_addr;

proxy_set_header    X-Forwarded-for $remote_addr;

port_in_redirect off;

proxy_redirect   http://IP:7990/  /stash;

proxy_connect_timeout 300;

}



location ~ ^/crucible {

proxy_pass http://IP:8060;

proxy_set_header    Host            $host;

proxy_set_header    X-Real-IP       $remote_addr;

proxy_set_header    X-Forwarded-for $remote_addr;

port_in_redirect off;

proxy_redirect   http://IP:8060/  /crucible;

proxy_connect_timeout 300;

}



error_page   500 502 503 504  /50x.html;

location = /50x.html {

root   /usr/local/nginx/html;

}

}

and in Fisheye:

<web-server site-url="http://dev.int.com/crucible" context="/crucible">

    <http bind="http://dev.int.com/" proxy-port="80" proxy-scheme="http" proxy-host="dev.int.com/crucible"/>

</web-server>

However, it just isn't pushing stuff out properly, and is a Fisheye problem –> When I visit /crucible, it does show the Crucible page, however, it doesn't load any page resources or ajax. Trying to login takes me to /login, so it's apparent that Fisheye is still on / for its context path despite its config file. I have restarted both Fisheye and Nginx server to no avail.
Any guidance would be appreciated 🙂

Best Answer

You should set the "web context" in the web interface first. Here's a screen shot of what that looks like. Also some info could be found in the documentation here.