400 pedido incorreto de um cache de proxy

3

Portanto, temos um cache de proxy nginx que é usado para manter o tempo de atividade, mesmo se o npm ficar inativo.

Ocasionalmente, esse servidor (notadamente uma vez a cada poucos meses) começa a retornar 400 bad request para cada resposta de algum pacote específico. Eu percebi que era um cache corrompido ou algo assim. Então limpamos o cache e então podemos npm install novamente. Tentamos simplesmente reiniciar o servidor, mas isso não é suficiente. Vale a pena mencionar que a fonte real (npm em si) retorna 200OK para o mesmo objeto (ou seja, os arquivos tar.gz).

Aqui está a configuração: link (sinta-se à vontade para explorar os arquivos ao redor).

A configuração é assim:

server {
  listen 8888;
  server_name localhost;
  location / {
    proxy_pass https://registry.npmjs.org/;
    proxy_cache npm;
    proxy_cache_valid 200 302 3d;
    proxy_cache_valid 404 1m;
    # npm adds "_resolved": 'registry.npmjs.org/xyz.tgz" to package.json files
    # this rewrites things correctly
    sub_filter 'registry.npmjs.org' 'localhost:8888';
    sub_filter_once off;
    sub_filter_types application/json;
  }
} 
    
por Parris 30.12.2014 / 02:51

0 respostas