How To Instruct Oracle Traffic Director Not To Unchunk A Chunked Request (Doc ID 1981033.1)

Last updated on APRIL 10, 2017

Applies to:

Oracle Traffic Director - Version 11.1.1.6 and later
Information in this document applies to any platform.
=== checked currency on Apr 10, 2017 ====

Goal

OTD inspects an incoming request to see if it is a properly formatted chunked request from a client. A valid chunked request contains chunked borders (size indicators) and a data chunk with the length of the chunk. To mark the end of the message, the last chunk has a zero-length chunked border. If it determines it is an valid one, it will unchunk the request and then pass it to the origin servers.

Since most of the origin servers can handle chunked requests properly it is desireable sometimes to leave the requests untouched for the origin servers to process. And also since OTD is strictly compliant with HTTP specification, you may see OTD refuses a request if it's not a valid chunked request while it may be acceptable by some origin servers that are not enforcing HTTP specification as strictly as OTD. For example, the below request has "Transfer-Encoding: chunked" in the request but since there are no chunked borders in the request the OTD refused the request with 411 code.

access-201501090200.log: 192.168.23.78 - - [08/Jan/2015:16:08:50 -0700] "POST /rtd/et/consumer.xml HTTP/1.1" 411 276 m6emR0KD500000000 -

A request for enhancement has been filed against this:

Bug 19191238 : OTD SHOULD SENT UNCHUNK PAYLOAD WITHOUT UNCHUNK BY DEFAULT

However after evaluation by development team it's determined that the enhancement can not be granted as this is how OTD works by design.

Solution

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms