Unable to delete Team Calendar events or the entire calendar
プラットフォームについて: 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 は除く
問題
Trying to delete an event or the entire calendar is not possible. No errors are shown in the UI nor in the atlassian-confluence.log file. Inspecting the browser requests on the Network tab of the developer tools, this can be spotted:
302 1113 674 [HTML][REDIRECT][RESP W][CACHE ??] 46 ms
‡
DELETE https://domain/rest/calendar-services/1.0/calendar/events.json
...
Full response:
302 Moved Temporarily HTTP/1.1
...
Post data parameters:
messageKeyMESSAGE_KEY_TIMEZONE_SETUP
Right after that request, this can be spotted:
400 1454 1674 [HTML][REQ W][ERROR][CACHE ??] 45 ms
‡
DELETE https://domain/eailrr/eai.aspx
Inspecting the contents of the response, we can see it is from ISAM WebSeal:
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<!-- Copyright (C) 2000 Tivoli Systems, Inc. -->
<!-- Copyright (C) 1999 IBM Corporation -->
<!-- Copyright (C) 1998 Dascom, Inc. -->
<!-- All Rights Reserved. -->
<!--
This is a WebSEAL error message template file. It is used
by the WebSEAL server to build a response when a particular
error occurs. This file can be modified as appropriate.
Error details:
* Code: 0x38cf0424
* Text: Bad Request
...
診断
環境
Confluence is running behind IBM Security Access Manager WebSEAL
Diagnostic Steps
To confirm that WebSeal is the cause, proceed with the following bypass test:
Add the following connector to server.xml (port 8092 must be free and accessible externally):
<Connector port="8092" connectionTimeout="20000" redirectPort="8443" maxThreads="48" minSpareThreads="10" enableLookups="false" acceptCount="10" debug="0" URIEncoding="UTF-8" protocol="org.apache.coyote.http11.Http11NioProtocol" />
- Change the server base URL to http://<server-IP>:8092
- Confluence を再起動します。
- Access it through http://<server-IP>:8092
If you are able to delete events while bypassing WebSeal, proceed with the resolution below.
Cause and Resolution
By default, WebSeal blocks DELETE HTTP requests that contain a body. Since deleting an event or a calendar triggers this exact type of request, it will be blocked by WebSeal and never reach the application.
The following document describes this setting and how to allow those types of requests: