HTTP 400 errors observed in Jira server when integrated with IIS
プラットフォームについて: Server および Data Center のみ。この記事は、Server および Data Center プラットフォームのアトラシアン製品にのみ適用されます。
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.
*Fisheye および Crucible は除く
The content on this page relates to platforms which are supported; however, the content is out of scope of our Atlassian Support Offerings. Consequently, Atlassian cannot guarantee support. Please be aware that this material is provided for your information only and you may use it at your own risk.
問題
When attempting certain actions within JIRA, such as removing a status in the Workflow Designer screen, it fails with the response of a HTTP 400. This can occur with all sorts of different functionality within JIRA. Depending upon the Web Server being used, the error may be something like the below (this is IIS):
診断
環境
- Microsoft IIS is being used.
原因
Microsoft IIS may be blocking PUT and DELETE web methods (or HTTP verbs). These are required by JIRA for the REST APIs to work, without them a large amount of functionality will fail. Alternatively you may be affected by JRA-44424 - Getting issue details... STATUS .
回避策
There are several workarounds to this case, however it is recommended to enable PUT and DELETE on the web server. Some of the workarounds:
- Add a secondary HTTP connector in
server.xml
and use that to connect to the instance - for example we describe this in Integrating JIRA with Apache in the configure Tomcat section. - Have another proxy used for JIRA, for example nginx or Apache, as this does not block them by default.
- Serve JIRA on port 80 and connect directly to it, rather than IIS. This requires
root
on Linux and is not recommended, however is suitable for Windows.
ソリューション
Enable PUT and DELETE on the IIS reverse proxy. There's several guides for doing so below:
- http://stackoverflow.com/questions/6739124/iis-7-5-enable-put-and-delete-for-restful-service-extensionless
- http://stackoverflow.com/questions/10906411/asp-net-web-api-put-delete-verbs-not-allowed-iis-8