Integrate Jira server and IIS with Application Request Routing

Still need help?

The Atlassian Community is here for you.

Ask the community

Description

Microsoft has a routing component for IIS7/7.5 called ARR (Application Request Routing). We have a page about integrating JIRA applications with IIS, which has a similar set of recommended configurations for use with the native-Microsoft routing.

Steps to configure the integration

The content on this page relates to platforms which are not supported for JIRA Applications. Consequently, Atlassian cannot guarantee providing any support for it. Please be aware that this material is provided for your information only and using it is done so at your own risk.

  1. Install Application Request Routing and URL Rewriting on your IIS server;
  2. Enable Proxying on ARR:
    1. From the IIS7 Console, click on Server_Name and  open Application Request Routing:
    2. From the Actions panel on the right hand side, select  "Server Proxy Settings"
    3. Check "Enable Proxy" and set HTTP Version to "HTTP/1.1":


      Make sure to disable "Reverse Rewrite Host in Response Headers" - this can cause problems with URLs being re-written incorrectly:

      1. Click on your Server in the sidebar
      2. Click "Application Request Routing Cache"
      3. Click "Server Proxy Settings"
      4. Untick "Reverse rewrite host in response headers"
  3. Add a new site on IIS (i.e jira.example.com);
  4. Add a new URL Rewrite Rule for jira.example.com:
    1. From the IIS7 Console, click on jira.example.com and open URL Rewrite:
    2. From the Actions panel on the right hand side, select "Add Rules" and choose "Blank Rule";
    3. Set Match URL to:
      1. Requested URL: Matches the Pattern
      2. Using: Regular Expressions
      3. Pattern: (.*)
      4. Ignore Case: Checked
    4. Set Action to:
      1. Action Type: Rewrite
      2. Rewrite URL: http://<JIRA_url:Port>/{R:1}
      3. Append query string: Checked
    5. Mark Stop processing of subsequent rules;
  5. Click in Request Filtering.

  6. Then click in Edit Feature Settings:

  7. Check Allow double escaping and hit OK:

  8. Now comment the following section on your <jira-install>/conf/server.xml:

     <Connector port="8080" connectionTimeout="20000" redirectPort="8443" maxThreads="200" minSpareThreads="10" enableLookups="false" acceptCount="10" debug="0" URIEncoding="UTF-8" />
  9. Add the parameters proxyName and proxyPort to your <JIRA-install-directory>/conf/server.xml file in JIRA, as in this example;

     <Connector acceptCount="100" connectionTimeout="20000" disableUploadTimeout="true" enableLookups="false" maxHttpHeaderSize="8192" maxSpareThreads="75" maxThreads="150" minSpareThreads="25" port="8080" protocol="HTTP/1.1" redirectPort="8443" useBodyEncodingForURI="true"
    proxyName="jira.example.com" proxyPort="80"/>
  10. Restart your JIRA applications.

OPTIONAL: In some cases more than one site will be hosted in the same IIS installation. In case you want to have a subdomain structure (i.e. jira.example.com, confluence.example.com), you may create different sites as follow:

  1. Create an A Record in the DNS for your subdomain and point to the same IP:
  2. Create new sites (step 3 of the instructions above) for each one of your subdomains:
    1. Sites > Add Website
    2. Site Name: subdomain.example.com
    3. Physical Path: select the subdomain directory
    4. Binding: same ip as example.com
    5. Host name: subdomain.example.com

(info) NOTE: For more information about using Host Headers and SSL, you may take a look at this blog-post.

Known Issues

Last modified on Jun 22, 2023

Was this helpful?

Yes
No
Provide feedback about this article
Powered by Confluence and Scroll Viewport.