我有一个Nginx实例,我用它作为Bazel缓存,配置如下。我想为PUT(dav_methods(请求设置一个较低(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秒才能超时。
我是不是错过了一个场景?
这可能会帮助您https://www.nginx.com/blog/tuning-nginx/
特别是限制部分,
您可以设置各种限制,以帮助防止客户端消费资源过多,可能会对系统性能产生不利影响以及安全性和用户体验。
如果您使用代理,这些可能会有所帮助
fastcgi_read_timeout 3600s;
proxy_connect_timeout 600;
proxy_send_timeout 600;
proxy_read_timeout 600;
send_timeout 600;
https://nginx.org/en/docs/http/ngx_http_fastcgi_module.html#fastcgi_read_timeout
https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_connect_timeout
https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_read_timeout
https://nginx.org/en/docs/http/ngx_http_core_module.html#send_timeout