Using IIS as a Reverse Proxy for Jira Software

acast2 August 27, 2021

I've used this documentation https://confluence.atlassian.com/kb/proxying-atlassian-server-applications-with-microsoft-internet-information-services-iis-833931378.html to configure IIS with the exception of the following:

Skipped step 2: Set the Context Path since we don't use it

For Step 3.2: I configured it to use proxyPort="443" and scheme="https" since SSL is being terminate at IIS

I made sure the Rule Order of Redirect first then URL Rewrite was done.

Now when I try to browse to https://jiraapplication.example.com **our domain in its place of course, I get the error "503 Service Temporarily Unavailable".

I tried binding the site on IIS with an SSL cert and without (documentation wasn't really clear about this one and I'm not familiar with doing a reverse proxy, this is my first time)

I tried configuring this Jira test server the same as our production in regards to us using an AWS Load Balancer with SSL configured, so this is why I'm not sure if my test server needs SSL installed.  Production doesn't have this but Production is configured using Apache which I have no knowledge of and the person that did this is no longer with the company, so now I'm taking over and reconfiguring this in test, so that I can replicate as much as our test environment to production to test the upgrade of Jira software.

Our Jira servers are running on EC2 servers on AWS.

I'm stuck now and would appreciate any assistance from the community on this one...thanks

1 answer

0 votes
acast2 August 30, 2021

I worked with our Web developer and together we figured out the solution. Part 1 was with our AWS load balancer and the other was tweaking the parameters that the Atlassian documentation referenced for the external source showing how to create a redirect rule.

The site referenced is https://www.ssl.com/how-to/redirect-http-to-https-with-windows-iis-10/

The changes:

  • In the Match section instead of using (.*), we used ^(.*)$
  • In the Condition section instead of using Condition Input {HTTPS}, we used {HTTP_X_FORWARDED_PROTO}. For pattern instead of using ^OFF$, we used ^http$
  • In the Action section instead of using Redirect URL: https://{HTTP_HOST}/{REQUEST_URI}, we used https://{HTTP_HOST}/{R:1}

I hope this helps someone else going through the same setup...thanks.

Suggest an answer

Log in or Sign up to answer