не работает error_page 503 /503.html;
Maxim Dounin
mdounin at mdounin.ru
Fri Mar 20 13:38:32 MSK 2009
Hello!
On Fri, Mar 20, 2009 at 12:42:47AM +0200, Андрей Василишин wrote:
> Maxim Dounin пишет:
>> Hello!
>>
>> On Thu, Mar 19, 2009 at 04:40:39PM +0200, Андрей Василишин wrote:
>>
>>
>>>> Как сделать так, чтобы при превышении limit_conn one 1; клиенту
>>>> отдавалась /503.html, сейчас я так понял отдается 404 (Firefox не
>>>> может найти файл)?
>>>>
>>> Игорь, все-таки можно что-нибудь придумать или нет?
>>>
>>
>> Пропробуйте
>>
>> location /503.html {
>> add_header Content-Disposition "";
>> ...
>> }
>>
>> Это должно убрать из ответа заголовок Content-Disposition, который
>> прилетает из скрипта отдающего X-Accel-Redirect, и судя по всему
>> вызывает подобную реакцию FireFox'а.
>>
>> Maxim Dounin
>>
> *syntax: *add_header */название значение/*
> *default: *нет
> *context: *http, server, location
>
> Директива добавляет строку в заголовке ответа при условии, что код
> ответа равен 200, 204, 301, 302 или 304. В значении можно использовать
> переменные.
>
>
> Тут ответ ведь 503
Да, я ошибся. Кроме того, значение Content-Disposition
вышеуказанная конструкция не очистит даже если сработает -
add_header умеет чистить только Cache-Control и Last-Modified.
Workaround - попробовать возвращать Content-Disposition в другом
заголовке, и добавлять через add_header если всё хорошо. Как-то
так:
location /files/ {
internal;
add_header Content-Disposition $upstream_http_x_content_disposition;
...
}
Но вообще наверное надо с этим что-то сделать кардинально.
Maxim Dounin
More information about the nginx-ru
mailing list