Still using Artifactory 3.x ?
Click here for the Artifactory 3.x User Guide

Skip to end of metadata
Go to start of metadata

Setting Up Apache HTTP Server

You can set up Apache HTTP Server as a front end to Artifactory using either the HTTP or AJP protocol.

Using AJP

The AJP protocol offers optimized low-level binary communication between the servlet container and Apache with additional support for smart-routing and load balancing.

The configuration is flexible and can be used either with mod_proxy_ajp, or with mod_jk.

The example below shows how to configure Apache using mod_proxy_ajp which is distributed by default, however you need to install and then enable as follows:

Enabling mod_proxy_ajp

Configuring Apache With mod_proxy_ajp Installed

The sample virtual host below refers to Apache as a reverse proxy to Tomcat, where Tomcat runs with the AJP connector on port 8019:

Page Contents

Configuring Apache with mod_ajp

Reset Your Cookies

When changing the Artifactory context path in Apache make sure to reset your browser's host and session cookies.

Having a stale context path value cached by cookies can lead to inconsistent issue with the user interface such as Not authorized to instantiate class errors when switching between tabs.

Configuring Your Tomcat

If you are using a dedicated Tomcat rather than the one that is bundled with the Artifactory download zip file, you must configure the AJP connector located, by default, under $CATALINA_HOME/conf/server.xml:

Configuring a Dedicated Tomcat

Please refer to Apache Tomcat Configuration Reference for more configuration options.

Configuring Apache With a Custom Artifactory Path

You can configure Apache using the same setup as above but here the goal is to have as the root URL for Artifactory as follows:

Configuring Apache With Your Custom Artifactory Path

Using an HTTP Proxy

When running Artifactory with Tomcat, we recommend that you set up Apache to proxy Artifactory via HTTP.

You must configure redirects correctly using the PassReverse directive, and also set the base URL in Artifactory itself so that the UI links show up correctly.

Configuring Apache With mod_proxy_ajp Installed

The sample virtual host assumes that the Tomcat HTTP connector runs on port 8081.

Ensuring HTTP Redirect Works Correctly

For HTTP redirects to work, you must set a PassReverse directive on Apache, otherwise the underlying container base URL is passed in redirects

In the example below it is set to

Setting a PassReverse Directive on Apache

Setting Up Apache HTTPS 

You can set up Apache with SSL (HTTPS) as a front end to Artifactory using either the HTTP or AJP protocol.

Using AJP

If you are not running Artifactory with Tomcat, then it is recommended to use AJP since it provides the servlet container with all the information about the correct base URL and requires no configuration in Artifactory.

Using an HTTP Proxy

Configuring Apache With mod_proxy_ajp Installed and Tomcat

The Apache and Tomcat sample configuration is as described in the section on Apache HTTP Server above under Using AJP.

Configuring a Custom URL Base in Artifactory

When using an HTTP proxy, the links produced by Artifactory, as well as certain redirects contain the wrong port and use the http instead of https.  

Therefore, you must configure a custom base URL as follows:

  1. On the Admin tab select Configuration | General Custom URL Base field.
  2. Set the Custom URL Base field to the value used to contact Artifactory on Apache
    For example:

Please refer to General Configuration for more details about configuring the base URL.

Setting Up a Reverse SSL Proxy for SSO

You may set up a reverse SSL proxy on your webserver in order to run Artifactory supporting SSO.

To do this, you need to have the right components installed, modify your webserver configuration file, and then configure Artifactory for SSO.

When correctly set up,you should be able to login to Artifactory with your Windows credentials and stay logged in between sessions.

Components and Versions

The instructions below have been tested to work with Kerberos/NTLM SSO working with Artifactory using the following components.

Modifying Your Webserver Configuration File

Once you have the right components and versions installed, you need to add the following lines to your [HTTP_SERVER_HOME]/conf/httpd.conf file:

httpd.conf file


Then you need to enable the following modules in your httpd.conf file:


Modules to enable

Configuring Artifactory for SSO

In the Artifactory Admin module, go to Security | HTTP SSO and set the Artifactory is Proxied by a Secured HTTP Server option.
Finally, in the General Settings make sure that the Server Name and Custom URL Base fields are correctly filled in.