Dada a seguinte configuração do nginx:
server {
listen 80;
server_name apilocal;
sub_filter "apiupstream/api" "apilocal";
sub_filter_once off;
location /people/ {
proxy_pass http://apiupstream/api/people/;
proxy_set_header Accept-Encoding "";
}
}
Sub_filter não responde adequadamente partes da resposta. Depois de remover o proxy_pass da configuração, ele funciona corretamente. Muitas pessoas com esse problema acabam tendo compressão gzip no servidor upstream. Eu verifiquei que meu servidor upstream não tem a codificação gzip ativada para suas respostas. Mas, por precaução, também usei o proxy_set_header acima para não aceitar o gzip.
Existe potencialmente algo mais que estou perdendo?