I am using nginx(caching server) in front my tomcat. My tomcat is
serving
header(content-length). But my nginx is not serving header
content-length.
However, i can put that header in my config with some static value then
it
will serve. But, in my case, the content length is coming from tomcat
server.
Could anybody please help me here.
my config file
location /comet {
chunked_transfer_encoding off;
proxy_http_version 1.1;
proxy_buffering on;
proxy_pass http://tomcat:8080/xxxx
proxy_cache my_cache;
# Adding a header to see the cache status in the browser
add_header X-Cache-Status $upstream_cache_status;
proxy_cache_key "$scheme$request_uri $http_x_seneca_uid";
proxy_cache_min_uses 1;
proxy_cache_valid 200 302 120m;
proxy_cache_valid 404 1m;
proxy_cache_use_stale error timeout invalid_header http_500
http_502 http_503 http_504;
}
==============>
My problem:- i have to pass content-header to my client. Could any body
please help me here
On Wed, Mar 02, 2016 at 09:58:26PM +0530, Vikas Parashar wrote:
I am using nginx(caching server) in front my tomcat. My tomcat is serving
header(content-length). But my nginx is not serving header content-length.
However, i can put that header in my config with some static value then it
will serve. But, in my case, the content length is coming from tomcat
server.
The “Content-Length” header is expected to be automatically
removed by nginx if it does some processing on the response body
and the length can be changed during processing. In particular,
this includes the following cases:
the response is gzipped (“gzip on”);
SSI is enabled;
sub_filter is enabled.
Various 3rd party modules can also remove Content-Length.
If you want to preserve Content-Length, you should identify which
modules remove Content-Length in your particular configuration and
switch them off.
[…]
chunked_transfer_encoding off;
Note: this directive in your config prevents nginx from using
“Transfer-Encoding: chunked” to indicate response length. As a
result nginx won’t be able to maintain persistent connections with
clients when Content-Length isn’t known in advance.
Unless you’ve added this directive to resolve specific problems
with broken clients and you know for sure you need it, you may
want to remove this directive from your configuration.
On Wed, Mar 02, 2016 at 10:33:34PM +0530, Vikas Parashar wrote:
[…]
don’t know how to do it.
Check your configuration for any modules which are expected to
change content. Disable them (comment out relevant directives out
or switch off in a particular location).
In particular, check for the following directives: