400 来自代理缓存的错误请求

400 来自代理缓存的错误请求

因此,我们有一个 nginx 代理缓存,即使 npm 出现故障,也能维持正常运行时间。

有时,该服务器(通常每隔几个月一次)会开始返回400 bad request某个特定包的每个响应。我认为这是一个损坏的缓存或其他问题。所以我们清除缓存,然后就可以了npm install。我们尝试简单地重新启动服务器,但结果发现这还不够。值得一提的是,实际源(npm 本身)对同一对象(即 tar.gz 文件)返回 200OK。

配置如下:https://github.com/parris/private-npm-registry/blob/master/nginx/server.conf(随意探索周围的文件)。

配置如下:

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;
  }
} 

相关内容