Impossible to create a new project
Platform Notice: Data Center Only - This article only applies to Atlassian products on the Data Center platform.
Note that this KB was created for the Data Center version of the product. Data Center KBs for non-Data-Center-specific features may also work for Server versions of the product, however they have not been tested. Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.
*Except Fisheye and Crucible
Summary
Problem
When creating a new project in JIRA, we get the following error message, even though the Project key is written is all capital cases.
1
Project keys must start with an uppercase letter, followed by one or more uppercase alphanumeric characters.

Diagnosis
Diagnostic Steps
JIRA is running behind an IIS reverse proxy using AAR.
Cause
The standard documentation Integrate Jira server and IIS with Application Request Routing seems to be incomplete and is not mentioning the variables HTTP_X_xxxx that need to be set in the JIRA IIS website web.config files.
Solution
Workaround
Need to set
preserveHostHeader
proxy configuration to false1
C:\Windows\system32\inetsrv\appcmd.exe set config -section:system.webServer/proxy -preserveHostHeader:true
Allow HTTP_X_xxxx server variables for URL Rewriting configurations, and add those to the rewrite rules (see sample web.config file for Confluence onhttp://pastebin.com/wSwcrbSr)
First, Allow server variables to be used so you don't get 500 Error about them not being permitted. See the "Allow Server Variables to be Changed" section on this page:
Goto IIS root level in IIS Manager > URL Rewrite > View Server Variables
Add the following
HTTP_X_ORIGINAL_HOST
HTTP_X_FORWARDED_HOST
HTTP_X_FORWARDED_SERVER
Next, add sections like this to your JIRA IIS website web.config files:
1 2 3 4 5 6 7 8
<rule name="reverseproxy" stopProcessing="true"> <match url="(.*)" /> <action type="Rewrite" url="http://jira.domain.com:8090/{R:1}" /> <serverVariables> <set name="HTTP_X_ORIGINAL_HOST" value="confluence.domain.com" /> <set name="HTTP_X_FORWARDED_HOST" value="confluence.domain.com" /> <set name="HTTP_X_FORWARDED_SERVER" value="confluence.domain.com" /> </serverVariables> </rule>
In the Application Request Routing proxy setup screen that you go through in the Atlassian instructions, un-check the Reverse rewrite hose in response headers checkbox.
Was this helpful?