Biorąc pod uwagę następującą konfigurację 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 nie reaguje poprawnie na części odpowiedzi. Po usunięciu proxy_pass z konfiguracji działa poprawnie. Wielu ludzi z tym problemem kończy kompresja gzip z serwera nadrzędnego. Sprawdziłem, czy mój serwer nadrzędny nie ma włączonego kodowania gzip dla swoich odpowiedzi. Ale na wszelki wypadek użyłem również proxy_set_header powyżej, aby nie akceptować gzip.
Czy potencjalnie czegoś brakuje?