mva добрый день!
>>На PUT он отвечает "нельзя" сразу по получении (т.е. по окончании) *запроса*.
Да. вы описываете ситуацию верно... как я её вижу.
1. получение nginx'ом заголовка сообщения
2. получение тела сообщения
[... lua ...] -> 405
>> А отвечать "нельзя" по получении одного лишь заголовка, не дожидаясь тела —
неправильно.
Если не затруднит обоснуйте плиззз свою точку зрения.
Моя такова:
Если метод запрещён внутри (и не важно знает об этом клиент или нет), то можно и даже нужно обрывать соединение и вернуть код 405!. Зачем нам получать огромное тело сообщения, если мы не обрабатываем этот метод и не будем обрабатывать тело.
Пример:
Инициирую 1000-10000 сессий, игнорирую рекомендации nginx в OPTION и Origin, и каждая сессия инициирует PUT video.mp4 размером скажем 4G. С большой долей вероятности положу атакуемый сервер. А даже если не положу, то заспамлю и загружу холостой работой.
Следовательно при обработке PUT если сервер оборвал получение и вернул код ошибки 405 то передавать тело клиенту уже не предоставляется возможности. imho это логично и устраняет описанную в первом сообщении проблему.
И отсуда вытекает.... вопрос к разработчикам о внутренностях nginx..... существует ли возможность реализовать запуск выполнения авторизатора на lua между двумя этапами обработки.
1. получение nginx'ом заголовка сообщения
[... lua ...] ->405
2. УЖЕ НЕ! получаем тела сообщения
Или существуют ещё какие либо более простые методы решения.....