nginx error_page 200

Oleg A. Mamontov oleg на mamontov.net
Чт Авг 15 16:36:04 UTC 2019


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: oleg at mamontov.net

skype:  lonerr11
cell:   +7 (903) 798-1352


Подробная информация о списке рассылки nginx-ru