为dav_方法设置Nginx超时

为dav_方法设置Nginx超时,nginx,timeout,bazel,nginx-config,Nginx,Timeout,Bazel,Nginx Config,我有一个Nginx实例,我使用它作为Bazel缓存,配置如下。我想为PUT dav_方法请求设置一个较低的4秒超时 http { ... # request timed out client_body_timeout 2; client_header_timeout 2; # server will close connection keepalive_timeout 5; send_timeout 1; gzip on; server { l

我有一个Nginx实例,我使用它作为Bazel缓存,配置如下。我想为PUT dav_方法请求设置一个较低的4秒超时

http {
  ...
  # request timed out
  client_body_timeout 2;
  client_header_timeout 2;

  # server will close connection
  keepalive_timeout 5;

  send_timeout 1;

  gzip on;

  server {
    listen 80 default_server;
    server_name _;

    location ~ "<my regex>" {
      root <my dir>;
      dav_methods PUT;
      limit_except PUT GET { deny all; }
      create_full_put_path on;
    }
  }
}
使用上面的配置。我从来没有看到GET请求的响应时间超过2秒,但PUT请求有时需要30-80秒而没有超时

我是不是错过了一个场景

这可能会帮到你

特别是限制部分,

您可以设置各种限制,以帮助阻止客户端消费 资源过多,可能会对系统性能产生不利影响 以及安全性和用户体验

如果您正在使用代理,这些也可能会有所帮助

 fastcgi_read_timeout 3600s;
 proxy_connect_timeout       600;
 proxy_send_timeout          600;
 proxy_read_timeout          600;
 send_timeout                600;
这可能对你有帮助

特别是限制部分,

您可以设置各种限制,以帮助阻止客户端消费 资源过多,可能会对系统性能产生不利影响 以及安全性和用户体验

如果您正在使用代理,这些也可能会有所帮助

 fastcgi_read_timeout 3600s;
 proxy_connect_timeout       600;
 proxy_send_timeout          600;
 proxy_read_timeout          600;
 send_timeout                600;

谢谢你的回答。在这种情况下,nginx没有用作代理,也没有使用fastcgi。谢谢你的回答。在本例中,nginx没有用作代理,也没有使用fastcgi;但是,我确实将错误日志更改为调试模式,并且我能够发现/修复几个问题。error\u log/var/log/nginx/error.log调试;我找不到解决办法;但是,我确实将错误日志更改为调试模式,并且我能够发现/修复几个问题。error\u log/var/log/nginx/error.log调试;