Время ожидания установки Nginx для dav_methods

У меня есть экземпляр Nginx, который я использую в качестве кеша Bazel с приведенной ниже конфигурацией. Я хотел бы установить низкий (4 секунды) тайм-аут для запросов PUT (dav_methods).

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 секунд без тайм-аута.

Я пропустил настройку?


person GGhe    schedule 29.10.2019    source источник
comment
Я не смог найти исправление; тем не менее, я перевел журнал ошибок в режим отладки и смог найти/исправить несколько проблем. error_log /var/log/nginx/error.log debug;   -  person GGhe    schedule 13.11.2019


Ответы (1)


Это может помочь вам 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

person Viktova    schedule 08.11.2019
comment
Спасибо за ответ. В этом случае nginx не используется в качестве прокси и не использует fastcgi. - person GGhe; 08.11.2019