Remove cabeçalho Content-Length em nginx proxy_pass

2

Eu uso nginx com diretiva de caminho de proxy.
Quando o aplicativo para o qual o pedido está em proxy retorna uma resposta, parece nginx adicionar algum cabeçalho contendo o Content-Length. É possível remover esse cabeçalho adicional?

UPDATE

Eu re-instalei o nginx com o módulo more_headers mas ainda tenho o mesmo resultado. Minha configuração é:

upstream my_sock {
   server unix:/tmp/test.sock
   fail_timeout=0;
}

server {
   listen 11111;
   client_max_body_size 4G;
   server_name localhost;

   keepalive_timeout 5;

   location / {
      more_clear_headers 'Content-Length';
      proxy_pass http://my_sock;
      proxy_redirect off;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header Host $http_host;
    }
}
    
por Luc 04.09.2011 / 14:36

2 respostas

2

Você precisa instalar o módulo ngx_headers_more e usar more_clear_headers:

link

more_clear_headers 

syntax: more_clear_headers [-t <content-type list>]... [-s <status-code list>]... <new-header>... 

default: no 

context: http, server, location, location if 

phase: output filter

No seu caso específico, você provavelmente deseja adicionar:

more_clear_headers 'Content-Length';
    
por 04.09.2011 / 15:35
1

Isso se deve ao fato de que as conversas do nginx terminam em http 1.0 Eu precisava adicionar o comprimento do conteúdo na resposta enviada do back-end para evitar que a codificação fosse definida como chunked.

    
por 28.09.2011 / 21:34

Tags