Forçar uma substituição de Content-Length no nginx

1

Para um objetivo esotérico, desejo substituir o cabeçalho Content-Length de um determinado local.

Consegui adicionar um Content-Length :

location ~ contentlength$ {
    add_header Content-Length 999 always;
    return 200;
}

Isso resulta em dois Content-Length cabeçalhos na resposta:

< HTTP/1.1 200 OK
< Server: nginx/1.13.9
< Date: Sat, 05 May 2018 06:46:28 GMT
< Content-Type: text/plain
< Content-Length: 0
< Connection: keep-alive
< Content-Length: 999

Como posso substituir o Content-Length real em vez de apenas marcar em outro cabeçalho?

(estou ciente de que isso quebrará as coisas - isso é o comportamento pretendido neste ambiente de teste).

    
por Jimmy Sanchez 05.05.2018 / 09:09

1 resposta

1

Existe um módulo para o Nginx que pode modificar os cabeçalhos chamados ngx_headers_more: link

Você terá que instalar o módulo manualmente (isso envolve recompilar o nginx) ou alternar para o openresty, um fork do nginx. Então você pode usar esta diretiva:

more_set_headers "Content-Length: 999"
    
por 05.05.2018 / 09:56

Tags