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

Ответить