Gitblit runs fine behind Apache. You may use either mod_proxy (GO or WAR) or mod_proxy_ajp (GO).
Each Linux distribution may vary on the exact configuration of Apache 2.2.
Here is a sample configuration that works on Debian 7.0 (Wheezy), your distribution may be different.
Then we need to make sure we are configuring Apache to use the proxy modules and to setup the proxied connection from Apache to Gitblit GO or from Apache to your chosen servlet container. The following snippet is stored as /etc/apache2/conf.d/gitblit
.
---FIXED---
ProxyRequests Off
ProxyVia Off
ProxyPreserveHost On
AddDefaultCharset off
Order deny,allow
Allow from all
---FIXED---
Please make sure to:
1. Review the security of these settings as appropriate for your deployment
2. Uncomment the *ProxyPass* setting for whichever connection you prefer (http/ajp)
3. Correctly set the ports and context paths both in the *ProxyPass* definition and your Gitblit installation
If you are using Gitblit GO you can easily configure the AJP connector by specifying a non-zero AJP port.
Please remember that on Linux/UNIX, ports < 1024 require root permissions to open.
4. Set *web.mountParameters=false* in `gitblit.properties` or `web.xml` this will use parameterized URLs.
Alternatively, you can respecify *web.forwardSlashCharacter*.
In some reverse-proxy configurations you may be running Gitblit using an http interface with an https reverse-proxy proxy. This will lead to Gitblit generating incorrect repository urls.
You can control the url that Gitblit generates by setting X-Forwarded headers in your proxy server.
X-Forwarded-Proto://servername(:X-Forwarded-Port)(/X-Forwarded-Context)
---X:MEDIAWIKI--- {| class=“table table-bordered” ! Header ! Description |- | X-Forwarded-Port | The port to use in generated repository http/https urls |- | X-Forwarded-Proto | The protocol/scheme to use in generated repository http/https urls |- | X-Forwarded-Context | The context to use in generated repository http/https urls |} ---X:MEDIAWIKI---