Resposta proxy_pass do Nginx truncada


9

Uso o nginx para solicitar proxy https ao meu servidor de aplicativos (atualmente em execução no 8443).
Este servidor de aplicativos serve páginas dinâmicas, algumas delas incluindo jquery minificado.
As páginas estão com erro, pois parece que o jquery está truncado ... existe um limite de tamanho de arquivo ou algo assim?

Meu nginx conf é o seguinte:

server {
listen      443;
server_name my_serv.com;
ssl                 on;
ssl_certificate     certificate.pem;
ssl_certificate_key privatekey.pem;

keepalive_timeout 70;

location / {
  proxy_pass https://localhost:8443;
  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  proxy_set_header Host $http_host;
  proxy_buffering off;
  proxy_buffers 8 8k;
}
}

2
Verifique seu log de erros. Ele deve informar por que as conexões foram fechadas mais cedo.
precisa saber é o seguinte

Por que você não permite que o nginx sirva arquivos estáticos como o jquery.js?
VBart

Respostas:


8

Eu sei que essa pergunta é super antiga, mas acabei de encontrar o mesmo problema. Verifique se o usuário que está executando o nginx possui privilégios de gravação no diretório proxy_temp. Se você estiver fornecendo uma resposta maior por meio de seu servidor proxy que não pode ser mantida em seus proxy_buffers, o restante dos dados de resposta será gravado em disco no diretório proxy_temp. Se não puder, devido a privilégios inadequados (ou qualquer outra coisa, como espaço em disco), a resposta será truncada.

Uma maneira fácil de saber é que esse é o problema: limpe o cache do navegador e recarregue a página com as ferramentas de desenvolvedor do Chrome abertas. Encontre o arquivo truncado na guia rede e, se o tamanho corresponder ao tamanho do buffer do proxy (64k no seu caso), é provável que o nginx esteja com problemas para gravar no disco.

Mais informações sobre o nginx proxy_temp_path: http://wiki.nginx.org/HttpProxyModule#proxy_temp_path


1
Sua resposta me inspirou a resolver um problema semelhante
Tyler Longo

0

Se nos logs de acesso você vir o código de retorno 304 (não modificado) para o arquivo truncado, tente limpar o cache do navegador. Infelizmente, não consegui encontrar uma maneira de 'consertar' isso na configuração do nginx.


Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.