Re: nginx error_page 200

2019-08-15 Пенетрантность Oleg A. Mamontov

On Thu, Aug 15, 2019 at 03:08:05PM +0800, Alexander Titaev wrote:

Здравствуйте, Evgeniy.

Вы писали 15 августа 2019 г., 1:33:21:


On Thu, Aug 15, 2019 at 12:48:56AM +0800, Alexander Titaev wrote:

у  клиента  nginx  проксирует запросы на tomcat. tomcat должен возвращать 301 с 
хитрым url, но у него регулярно затекает
мозг   и   он   периодически  начинает  возвращать 200. Помогает рестарт. 
Клиент просит временно, пока они разбираются с
явой, сделать  перехват  этих 200 с преобразованием в 301, подобного тому что 
делает tomcat, но по упрощенной схеме. Вот
никак не соображу как этот перехват сделать. Возможно-ли это в принципе?



 Приложение отдаёт 200 с правильным содержимым Location: в заголовке?
 Без nginx: пропустите его выдачу через netsed ... "s/200 /301 /".


так это одно самое нагруженное location 301 должно отдавать, есть другие для 
которых 200 норма


Если не боитесь Lua, то все просто:

location /foo/ {
   proxy_pass http://tomcat;
   header_filter_by_lua_block { ngx.status = 301 }
}

--
Cheers,
Oleg A. Mamontov

mailto: o...@mamontov.net

skype:  lonerr11
cell:   +7 (903) 798-1352
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: nginx error_page 200

2019-08-15 Пенетрантность Igor A. Ippolitov

Можно делать "предзапрос" в томкат с помощью auth_request
По результатам запроса менять бэкенд в который пойдёт запрос: либо в 
томкат, либо в "заглушку".
Вероятно, можно даже кэшировать ответы, чтобы не насиловать томкат 
двойной нагрузкой.


On 14.08.2019 19:48, Alexander Titaev wrote:

Здравствуйте, Nginx-ru.

у  клиента  nginx  проксирует запросы на tomcat. tomcat должен возвращать 301 с 
хитрым url, но у него регулярно затекает
мозг   и   он   периодически  начинает  возвращать 200. Помогает рестарт. 
Клиент просит временно, пока они разбираются с
явой, сделать  перехват  этих 200 с преобразованием в 301, подобного тому что 
делает tomcat, но по упрощенной схеме. Вот
никак не соображу как этот перехват сделать. Возможно-ли это в принципе?



___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: nginx error_page 200

2019-08-15 Пенетрантность Evgeniy Berdnikov
On Thu, Aug 15, 2019 at 03:08:05PM +0800, Alexander Titaev wrote:
> Здравствуйте, Evgeniy.
> 
> Вы писали 15 августа 2019 г., 1:33:21:
> 
> > On Thu, Aug 15, 2019 at 12:48:56AM +0800, Alexander Titaev wrote:
> >> у  клиента  nginx  проксирует запросы на tomcat. tomcat должен возвращать 
> >> 301 с хитрым url, но у него регулярно затекает
> >> мозг   и   он   периодически  начинает  возвращать 200. Помогает рестарт. 
> >> Клиент просит временно, пока они разбираются с
> >> явой, сделать  перехват  этих 200 с преобразованием в 301, подобного тому 
> >> что делает tomcat, но по упрощенной схеме. Вот
> >> никак не соображу как этот перехват сделать. Возможно-ли это в принципе?
> 
> >  Приложение отдаёт 200 с правильным содержимым Location: в заголовке?
> >  Без nginx: пропустите его выдачу через netsed ... "s/200 /301 /".
> 
> так это одно самое нагруженное location 301 должно отдавать, есть другие для 
> которых 200 норма

 В чём проблема разные location на разные бэкенды раздать?
 А увеличение нагрузки включите в счёт клиенту, может он зашевелится.
-- 
 Eugene Berdnikov
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: nginx error_page 200

2019-08-15 Пенетрантность Alexander Titaev
Здравствуйте, Evgeniy.

Вы писали 15 августа 2019 г., 1:33:21:

> On Thu, Aug 15, 2019 at 12:48:56AM +0800, Alexander Titaev wrote:
>> у  клиента  nginx  проксирует запросы на tomcat. tomcat должен возвращать 
>> 301 с хитрым url, но у него регулярно затекает
>> мозг   и   он   периодически  начинает  возвращать 200. Помогает рестарт. 
>> Клиент просит временно, пока они разбираются с
>> явой, сделать  перехват  этих 200 с преобразованием в 301, подобного тому 
>> что делает tomcat, но по упрощенной схеме. Вот
>> никак не соображу как этот перехват сделать. Возможно-ли это в принципе?

>  Приложение отдаёт 200 с правильным содержимым Location: в заголовке?
>  Без nginx: пропустите его выдачу через netsed ... "s/200 /301 /".

так это одно самое нагруженное location 301 должно отдавать, есть другие для 
которых 200 норма

-- 
С уважением,
 Alexander  mailto:t...@irk.ru

___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: nginx error_page 200

2019-08-14 Пенетрантность Evgeniy Berdnikov
On Thu, Aug 15, 2019 at 12:48:56AM +0800, Alexander Titaev wrote:
> у  клиента  nginx  проксирует запросы на tomcat. tomcat должен возвращать 301 
> с хитрым url, но у него регулярно затекает
> мозг   и   он   периодически  начинает  возвращать 200. Помогает рестарт. 
> Клиент просит временно, пока они разбираются с
> явой, сделать  перехват  этих 200 с преобразованием в 301, подобного тому что 
> делает tomcat, но по упрощенной схеме. Вот
> никак не соображу как этот перехват сделать. Возможно-ли это в принципе?

 Приложение отдаёт 200 с правильным содержимым Location: в заголовке?
 Без nginx: пропустите его выдачу через netsed ... "s/200 /301 /".
-- 
 Eugene Berdnikov
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru