DELETE method is converted to OPTIONS when request is sent over AJP connector in Confluence

XMLWordPrintable

    • 3
    • Severity 3 - Minor
    • 11

      Issue Summary

      When Confluence Data Center is deployed behind a reverse proxy that communicates with Confluence using the AJP connector, DELETE operations against Confluence's REST APIs fail. This impacts any functionality that relies on HTTP DELETE requests, such as deleting calendar objects in the UI or deleting page content using the API.

      This occurs because Confluence never receives the intended HTTP DELETE request from the proxy. Instead, Confluence only receives an HTTP OPTIONS request for these operations, which does not trigger deletion logic in the application. As a result, administrators and integrations cannot reliably perform delete operations via Confluence's REST APIs when requests are proxied over AJP.

      The issue is caused by a known bug in Tomcat 9.0.110 and 10.1.47, where DELETE requests sent through an AJP connector are incorrectly converted to OPTIONS requests before reaching the application.

      Steps to Reproduce

      1. Deploy Confluence behind a reverse proxy using AJP
      2. Create a few events in the Team Calendar
      3. Create a page
      4. Try to delete the calendar event from the UI and delete the page using the API.

      Expected Results

      An authorised user in Confluence should be able to delete the Team Calendar records. 

      Actual Results

      • No response in the UI when attempting to delete the calendar records.
      • The API prints an HTTP 200 response, and the actual request doesn't reach the application. Below messages can be seen in the Tomcat access log.
        • [14/Jan/2026:15:15:41 +1100] admin ajp-nio-127.0.0.1-23001-exec-8 127.0.0.1 OPTIONS /c9210/rest/calendar-services/1.0/calendar/events.json HTTP/1.1 200 16ms - https://myconfluence.com/c9210/calendar/mycalendar.action Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36 

      Workaround

      • Reconfigure the proxy to forward requests to Confluence using the HTTP connector instead of the AJP connector.

              Assignee:
              Saba Taseer (Inactive)
              Reporter:
              Sunil Kumar C (Inactive)
              Votes:
              1 Vote for this issue
              Watchers:
              6 Start watching this issue

                Created:
                Updated:
                Resolved: