Welcome! Log In Create A New Profile

Advanced

Re: proxy read timeout по GET параметру

Maxim Dounin
October 05, 2012 08:46AM
Hello!

On Wed, Oct 03, 2012 at 06:22:26PM -0400, cat wrote:

> Приветствую. Хочу сделать proxy_read_timeout отличный от дефолтного для
> избранных пользователей, у которых начинаются проблемы с клиентом если вдруг
> бэкенды думают дольше обычного. Пользователь определяется GET параметром.
> Вот частично рабочий конфиг:
>
> upstream serversInt {
> server 127.0.0.1:80;
> }
>
> map $arg_user $timeouts {
> default normalTimeout;
> vasya lowTimeout;
> }
>
> server {
>
> listen 127.0.0.1:8080;
> error_page 504 =200 @timeoutPage;
>
> error_page 598 = @$timeouts;
> location /
> {
> error_page 504 =200 @timeoutPage;
> error_page 598 = @$timeouts;
> return 598;

Вот тут надо добавить:

recursive_error_pages on;

Подробности см. ниже.

> }
>
> location @lowTimeout
> {
> error_page 504 =200 @timeoutPage;
> proxy_read_timeout 1s;
> proxy_set_header Host $host;
> proxy_pass http://serversInt;
> }
>
> location @normalTimeout
> {
> error_page 504 =200 @timeoutPage;
> proxy_read_timeout 5s;
> proxy_set_header Host $host;
> proxy_pass http://serversInt;
> }
>
> location @timeoutPage { return 200 "<timeout/>"; }
> }
>
> Работает всё кроме обработки ошибки 504 при срабатывании таймаута бэкенда.
> Появляется страница с текстом '504 Gateway Time-out' и статусом 504 вместо
> ожидаемой строки <timeout/> со статусом 200. Хотя в access.log почему-то
> пишется статус 200.

После перенаправления по error_page - дополнительные
перенаправления по error_page запрещаются. Разрешить несколько
перенаправлений с помощью директивы error_page можно с помощью
директивы recursive_error_pages.

http://nginx.org/r/recursive_error_pages/ru

--
Maxim Dounin
http://nginx.com/support.html

_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru
Subject Author Posted

Re: proxy read timeout по GET параметру

Maxim Dounin October 05, 2012 08:46AM

Re: proxy read timeout по GET параметру

cat October 06, 2012 09:03AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 321
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready