Welcome! Log In Create A New Profile

Advanced

For Http range request ie 206 , custom headers are blocked in case of x-redirect chain

Posted by yogeshorai 
I came across this strange behavior when we wanted to get Etag propagated through X-redirect chain as part of Http response for Range request ie Http 206.It seems nginx filters out any additional costume headers / tmp variable as part of final response through x-redirect for non-200 response.
Kindly suggest workaround this issue.

Here's a Log data under debug mode for Normal vs Range request clearing showing custom headers being filter out.

Without Range :

2013/04/16 04:08:22 [debug] 23457#0: *385 event timer del: 11: 1366110562151
2013/04/16 04:08:22 [debug] 23457#0: *385 event timer add: 11: 300000:1366110802151
2013/04/16 04:08:22 [debug] 23457#0: *385 http run request: "get_file?path=/Shared/Documents/loader.html"
2013/04/16 04:08:22 [debug] 23457#0: *385 http upstream check client, write event:1, "/v2_0/get_file"
2013/04/16 04:08:22 [debug] 23457#0: *385 http upstream recv(): -1 (11: Resource temporarily unavailable)
2013/04/16 04:08:22 [debug] 23457#0: *385 http upstream request: "/v2_0/get_file?path=/Shared/Documents/loader.html"
2013/04/16 04:08:22 [debug] 23457#0: *385 http upstream process header
2013/04/16 04:08:22 [debug] 23457#0: *385 malloc: 000000000E8621C0:32768
2013/04/16 04:08:22 [debug] 23457#0: *385 recv: fd:11 1229 of 32646
2013/04/16 04:08:22 [debug] 23457#0: *385 http proxy status 200 "200 OK"
2013/04/16 04:08:22 [debug] 23457#0: *385 http proxy header: "Last-Modified: Tue, 16 Apr 2013 09:47:42 GMT"
2013/04/16 04:08:22 [debug] 23457#0: *385 http proxy header: "Etag: 0853bce8-bf84-4cc4-9c7e-d4182bafafad"
2013/04/16 04:08:22 [debug] 23457#0: *385 http proxy header: "Date: Tue, 16 Apr 2013 11:08:22 GMT"
2013/04/16 04:08:22 [debug] 23457#0: *385 http proxy header: "Server: CherryPy/3.1.2"
2013/04/16 04:08:22 [debug] 23457#0: *385 http proxy header: "Connection: close"
2013/04/16 04:08:22 [debug] 23457#0: *385 http proxy header: "Content-Disposition: attachment;filename="loader.html""

2013/04/16 04:08:22 [debug] 23457#0: *385 http script complex value
2013/04/16 04:08:22 [debug] 23457#0: *385 http script set $compressed
2013/04/16 04:08:22 [debug] 23457#0: *385 http script complex value
2013/04/16 04:08:22 [debug] 23457#0: *385 http script set $serve_decompressed
2013/04/16 04:08:22 [debug] 23457#0: *385 http script complex value
2013/04/16 04:08:22 [debug] 23457#0: *385 http script var: "0853bce8-bf84-4cc4-9c7e-d4182bafafad"
2013/04/16 04:08:22 [debug] 23457#0: *385 http script set $etag
2013/04/16 04:08:22 [debug] 23457#0: *385 http script complex value
2013/04/16 04:08:22 [debug] 23457#0: *385 http script var: "Tue, 16 Apr 2013 09:47:42 GMT"
2013/04/16 04:08:22 [debug] 23457#0: *385 http script set $last_modified
2013/04/16 04:08:22 [debug] 23457#0: *385 http script complex value
2013/04/16 04:08:22 [debug] 23457#0: *385 http script var: "205"
2013/04/16 04:08:22 [debug] 23457#0: *385 http script set $expected_size
2013/04/16 04:08:22 [debug] 23457#0: *385 http script complex value
2013/04/16 04:08:22 [debug] 23457#0: *385 http script var: "205"
2013/04/16 04:08:22 [debug] 23457#0: *385 http script set $actual_size
--
2013/04/16 04:08:22 [debug] 23457#0: *385 malloc: 000000000E906930:32768
2013/04/16 04:08:22 [debug] 23457#0: *385 posix_memalign: 000000000E90E940:4096 @16
2013/04/16 04:08:22 [debug] 23457#0: *385 recv: fd:11 350 of 32638
2013/04/16 04:08:22 [debug] 23457#0: *385 http proxy status 200 "200 OK"
2013/04/16 04:08:22 [debug] 23457#0: *385 http proxy header: "Server: Apache-Coyote/1.1"
2013/04/16 04:08:22 [debug] 23457#0: *385 http proxy header: "Accept-Ranges: bytes"
2013/04/16 04:08:22 [debug] 23457#0: *385 http proxy header: "Content-Length: 205"
2013/04/16 04:08:22 [debug] 23457#0: *385 http proxy header: "Date: Tue, 16 Apr 2013 11:08:22 GMT"
2013/04/16 04:08:22 [debug] 23457#0: *385 http proxy header: "Connection: close"
2013/04/16 04:08:22 [debug] 23457#0: *385 http proxy header done
2013/04/16 04:08:22 [debug] 23457#0: *385 http script var: "0853bce8-bf84-4cc4-9c7e-d4182bafafad"
2013/04/16 04:08:22 [debug] 23457#0: *385 http script var: "0853bce8-bf84-4cc4-9c7e-d4182bafafad"
2013/04/16 04:08:22 [debug] 23457#0: *385 http script var: "Tue, 16 Apr 2013 09:47:42 GMT"
2013/04/16 04:08:22 [debug] 23457#0: *385 HTTP/1.1 200 OK
Server: nginx/1.0.4
Date: Tue, 16 Apr 2013 11:08:22 GMT
Content-Type: text/html;charset=ISO-8859-1
Connection: keep-alive
Content-Disposition: attachment;filename="loader.html"
Accept-Ranges: none
Content-Length: 205
Etag: 0853bce8-bf84-4cc4-9c7e-d4182bafafad
Last-Modified: Tue, 16 Apr 2013 09:47:42 GMT
=================================================================================


With Range :

2013/04/16 04:07:35 [debug] 23457#0: *373 event timer del: 11: 1366110515893
2013/04/16 04:07:35 [debug] 23457#0: *373 event timer add: 11: 300000:1366110755894
2013/04/16 04:07:35 [debug] 23457#0: *373 http run request: "/v2_0/get_file?path=/Shared/Documents/loader.html"
2013/04/16 04:07:35 [debug] 23457#0: *373 http upstream check client, write event:1, "/v2_0/get_file"
2013/04/16 04:07:35 [debug] 23457#0: *373 http upstream recv(): -1 (11: Resource temporarily unavailable)
2013/04/16 04:07:35 [debug] 23457#0: *373 http upstream request: "/v2_0/get_file?path=/Shared/Documents/loader.html"
2013/04/16 04:07:35 [debug] 23457#0: *373 http upstream process header
2013/04/16 04:07:35 [debug] 23457#0: *373 malloc: 000000000E8621C0:32768
2013/04/16 04:07:35 [debug] 23457#0: *373 recv: fd:11 1258 of 32646
2013/04/16 04:07:35 [debug] 23457#0: *373 http proxy status 200 "200 OK"
2013/04/16 04:07:35 [debug] 23457#0: *373 http proxy header: "Etag: 0853bce8-bf84-4cc4-9c7e-d4182bafafad"
2013/04/16 04:07:35 [debug] 23457#0: *373 http proxy header: "Date: Tue, 16 Apr 2013 11:07:35 GMT"
2013/04/16 04:07:35 [debug] 23457#0: *373 http proxy header: "Server: CherryPy/3.1.2"
2013/04/16 04:07:35 [debug] 23457#0: *373 http proxy header: "Connection: close"
2013/04/16 04:07:35 [debug] 23457#0: *373 http proxy header: "Content-Disposition: attachment;filename="loader.html""


2013/04/16 04:07:35 [debug] 23457#0: *373 http script complex value
2013/04/16 04:07:35 [debug] 23457#0: *373 http script set $compressed
2013/04/16 04:07:35 [debug] 23457#0: *373 http script complex value
2013/04/16 04:07:35 [debug] 23457#0: *373 http script set $serve_decompressed
2013/04/16 04:07:35 [debug] 23457#0: *373 http script complex value
2013/04/16 04:07:35 [debug] 23457#0: *373 http script var: "0853bce8-bf84-4cc4-9c7e-d4182bafafad"
2013/04/16 04:07:35 [debug] 23457#0: *373 http script set $etag
2013/04/16 04:07:35 [debug] 23457#0: *373 http script complex value
2013/04/16 04:07:35 [debug] 23457#0: *373 http script var: "Tue, 16 Apr 2013 09:47:42 GMT"
2013/04/16 04:07:35 [debug] 23457#0: *373 http script set $last_modified
2013/04/16 04:07:35 [debug] 23457#0: *373 http script complex value
2013/04/16 04:07:35 [debug] 23457#0: *373 http script var: "205"
2013/04/16 04:07:35 [debug] 23457#0: *373 http script set $expected_size
2013/04/16 04:07:35 [debug] 23457#0: *373 http script complex value
2013/04/16 04:07:35 [debug] 23457#0: *373 http script var: "205"
2013/04/16 04:07:35 [debug] 23457#0: *373 http script set $actual_size

2013/04/16 04:05:18 [debug] 23457#0: *352 http proxy status 206 "206 Partial Content"
2013/04/16 04:05:18 [debug] 23457#0: *352 http proxy header: "Server: Apache-Coyote/1.1"
2013/04/16 04:05:18 [debug] 23457#0: *352 http proxy header: "Accept-Ranges: bytes"
2013/04/16 04:05:18 [debug] 23457#0: *352 http proxy header: "Content-Range: bytes 10-20/205"
2013/04/16 04:05:18 [debug] 23457#0: *352 http proxy header: "Content-Length: 11"
2013/04/16 04:05:18 [debug] 23457#0: *352 http proxy header: "Date: Tue, 16 Apr 2013 11:05:18 GMT"
2013/04/16 04:05:18 [debug] 23457#0: *352 http proxy header: "Connection: close"
2013/04/16 04:05:18 [debug] 23457#0: *352 http proxy header done
2013/04/16 04:05:18 [debug] 23457#0: *352 HTTP/1.1 206 Partial Content
Server: nginx/1.0.4
Date: Tue, 16 Apr 2013 11:05:18 GMT
Content-Type: text/html;charset=ISO-8859-1
Connection: keep-alive
Content-Disposition: attachment;filename="loader.html"
Accept-Ranges: none
Content-Range: bytes 10-20/205
Content-Length: 11



Edited 3 time(s). Last edit at 04/18/2013 12:50AM by yogeshorai.
Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 124
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready