Re: Проблема с fastcgi

David Mzareulyan david at hiero.ru
Sun Mar 9 00:53:31 MSK 2008


Hello Igor,

> On Sat, Mar 08, 2008 at 04:58:52PM +0000, David Mzareulyan wrote:
> 
>> Игорь, а зачем это разрешать/запрещать отдельным ключом? Какие
>> проблемы
>> могут быть с постами в статику?
>> Ну то есть, понятно, что если там в самом деле статика, то надо
>> выдать
>> ошибку. Но если там 404-й обработчик -- почему нельзя доверить ему
>> решение?
> В принципе, это решается так:
> 
> error_page  404 405 = @fallback;

Самое естественное решение, да, но ведь сейчас-то это не работает.

Просто по логике (я не знаю внутренностей nginx, так что могу сказать глупость): 
пришёл POST-запрос, мы нашли для него локацию. Если по этой локации найден 
статический файл, то выдаём 405. Если не найден, то мы переходим на локацию, 
соответствующую 404-й ошибке и процедура повторяется. Рано или поздно кто-то 
или обработает запрос или выбросит ошибку.

Поэтому нелогично выглядит, когда при POST-запросе управление не переходит 
на @fallback. Ну не нашёлся файл -- так ведь ясно сказано, куда идти, если 
не нашёлся.

> Тем не менее, ситуация неоднозначная - POST в статику, как правило,
> бессмысленен и сервера (тот же Апач) для него возращают 405.
> 
> Однако, есть как минимум два случая, когда POST можно разрешить:
> 
> 1) статический файл проходит через SSI, который делает вставку с
> сервера,
> понимающего POST.

Хм. Вот о таком я не подумал. Это, наверное, единственный вариант, когда 
может понадобиться явное разрешение/запрещение поста в статику -- потому 
что только в этом случае nginx делает какую-то интерпретацию файла.

Может быть, разрешать пост всегда для ssi on? Хотя, наверное, это неправильно.

> 2) статическая страница о профикалктических работах, которая должна
> тупо
> показываться в том числе и для POST'а.

Ну, это довольно специальный случай... не так трудно явно указать страницу 
с ошибкой.

-- 
С уважением
Давид Мзареулян
david at hiero.ru








More information about the nginx-ru mailing list