This particular DELETE was designed to return a 204 – no payload expected. So the test which insisted on payload was incorrect. Problem solved. Thanks.
From: Igor Cicimov [mailto:ig...@encompasscorporation.com] Sent: November-02-17 8:56 PM To: Norman Branitsky <norman.branit...@micropact.com> Cc: Moemen MHEDHBI <mmhed...@haproxy.com>; haproxy@formilux.org Subject: Re: HTTP DELETE command failing On Fri, Nov 3, 2017 at 11:29 AM, Norman Branitsky <norman.branit...@micropact.com<mailto:norman.branit...@micropact.com>> wrote: I have this included in the configuration: # Filter nasty input acl missing_cl hdr_cnt(Content-length) eq 0 acl METH_PUT method PUT acl METH_GET method GET HEAD acl METH_PATCH method PATCH ##acl METH_DELETE method DELETE http-request deny if HTTP_URL_STAR !METH_OPTIONS || METH_POST missing_cl || METH_PUT missing_cl || METH_PATCH missing_cl || METH_DELETE missing_cl http-request deny if METH_GET HTTP_CONTENT http-request deny unless METH_GET or METH_POST or METH_OPTIONS or METH_PATCH or METH_DELETE or METH_PUT My colleague commented out the METH_DELETE acl. It appears that in HAProxy 1.7 a number of acls are predefined and we could delete the METH_PUT, METH_GET, and METH_PATCH acls also. So is one of the http-request deny statements causing the problem? Maybe check the DELETE RFC https://tools.ietf.org/html/rfc7231#section-4.3.5 and think about what to do with your conditions. Start by removing "|| METH_DELETE missing_cl" from the first one.