Parece que você armazenou a resposta HEAD no cache. De acordo com o documento nginx ( link ), o método HEAD é sempre adicionado ao uwsgi_cache_methods.
Eu preciso configurar o cache para o aplicativo python (django) no nginx. Tudo funciona bem, mas de vez em quando recebo uma página em branco do cache. Eu não vejo nenhum erro nos logs nginx e uwsgi.
Na situação normal eu recebo HTTP/1.1 200 resposne 24615 bytes
long do nginx, mas às vezes tem 20 bytes.
HTTP/1.1 200 0.08 secs: 24615 bytes ==> /
HTTP/1.1 200 0.07 secs: 24615 bytes ==> /
HTTP/1.1 200 7.71 secs: 24615 bytes ==> /
HTTP/1.1 200 0.06 secs: 20 bytes ==> /
HTTP/1.1 200 0.06 secs: 20 bytes ==> /
HTTP/1.1 200 0.07 secs: 20 bytes ==> /
HTTP/1.1 200 7.79 secs: 24615 bytes ==> /
HTTP/1.1 200 0.07 secs: 24615 bytes ==> /
Minha configuração de cache:
uwsgi_cache_path /var/cache/nginx_cache levels=1:2 keys_zone=my_cache:1m max_size=500m inactive=30m use_temp_path=off;
uwsgi_cache my_cache;
uwsgi_cache_key "$uri";
uwsgi_ignore_headers Cache-Control X-Accel-Expires Expires Vary Set-Cookie;
uwsgi_cache_valid 2s;
E ideias qual é o motivo dessas respostas de 20 bytes?
Parece que você armazenou a resposta HEAD no cache. De acordo com o documento nginx ( link ), o método HEAD é sempre adicionado ao uwsgi_cache_methods.