Felizmente, client_max_body_size
realmente se aplica a solicitações Transfer-Encoding: chunked
. Eu descobri isso durante o teste. A documentação simplesmente não menciona isso.
No nginx, há a seguinte diretiva client_max_body_size
:
Sets the maximum allowed size of the client request body, specified in the “Content-Length” request header field. If the size in a request exceeds the configured value, the 413 (Request Entity Too Large) error is returned to the client.
Como diz, isso é usado quando o comprimento do conteúdo é fornecido na solicitação. Eu estou usando nginx como proxy reverso. Infelizmente, a implementação do meu nodejs para um determinado URI requer que um corpo POST seja fornecido com Transfer-Encoding: chunked
- ele quebra o contrário. Ainda preciso limitar o tamanho do corpo aceito para evitar DoS. Eu gostaria que o nginx fechasse a conexão se muitos bytes tivessem sido enviados no corpo.
O nginx tem a funcionalidade ? Ou seria melhor implementar isso no servidor nodejs?