Задать вопрос

Почему не отрабатывает timeout в location?

Почему nginx не меняет значения таймаута для определенного location?
location /example {
      proxy_read_timeout 5s;
      proxy_connect_timeout 5s;
      proxy_send_timeout 5s; 
      try_files $uri $uri/ /index.php/exl?$query_string;
}

Если туда ставить return 500, то вернет ошибку, значит сама локация видится и в приоритете. Но время выполнения всё равно больше чем 5 секунд...
  • Вопрос задан
  • 142 просмотра
Подписаться 1 Простой 7 комментариев
Решения вопроса 1
@dodo512
location /example {
    try_files $uri @backend;
}

location @backend {
    proxy_read_timeout 5s;
    proxy_connect_timeout 5s;
    proxy_send_timeout 5s;

    rewrite ^ /index.php/exl break;

    proxy_pass http://backend;
}

Или
location /example {
    proxy_read_timeout 5s;
    proxy_connect_timeout 5s;
    proxy_send_timeout 5s; 

    rewrite ^ /index.php/exl break;

    proxy_pass http://backend;
}
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
ky0
@ky0 Куратор тега Nginx
Миллиардер, филантроп, патологический лгун
Потому что, очевидно, запрос в соответствии с try_files уезжает в какой-то другой локейшен, где таймауты другие.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы