Solicitar erro Entity Too Large ao carregar arquivos de mais de 128 KB por SSL

5

Nós temos um portal web configurado no framework Spring Java. Está sendo executado no servidor de aplicativos do tomcat. Portal é servido através do servidor web apache conectado ao tomcat através do conector JK. Todo o portal é HTTPS habilitado usando 443 portas do apache. A versão do Apache é: Apache / 2.4.2 (Unix). é a última versão estável do servidor web apache.

Sempre que tentamos enviar arquivos com mais de 128 KB para o portal, estamos enfrentando o erro 413:

Request Entity Too Large The requested resource /teamleadchoachingtracking/doFileUpload does not allow request data with POST requests, or the amount of data provided in the request exceeds the capacity limit.

No log de erros do apache, recebemos os seguintes erros:

AH02018: request body exceeds maximum size (131072) for SSL buffer
AH02257: could not buffer message body to allow SSL renegotiation to proceed

Fizemos pesquisas sobre o google e houve sugestões para colocar SSLRenegBufferSize como um valor alto como 10MB. Com base nessas sugestões, colocamos a seguinte entrada na seção virtualhost do arquivo de configuração httpd:

<Directory "/teamleadchoachingtracking/doFileUpload/">
SSLRenegBufferSize 10486000
</Directory>

Mas o erro ainda persiste. Também especificamos SSLVerifyClient none, mas ainda está ocorrendo renegociação.

Este é um erro muito inconsistente e frustrante. Qualquer ajuda será muito apreciada. Muito obrigado antecipadamente.

    
por tushar 21.08.2012 / 19:36

2 respostas

11

Consegui resolvê-lo colocando certa configuração no arquivo httpd.conf do apache. Aqui está a configuração de amostra:

<Location "/calibration">
  SSLRenegBufferSize 10486000
</Location>

Mais cedo eu não estava dando configuração correta. Key é o local exato do URL que está causando o erro HTTP 413. Na diretiva de localização, a localização exata do URL precisa ser fornecida. SSLRenegBufferSize é o parâmetro que especifica o tamanho máximo do buffer em bytes, caso ocorra uma renegociação. Eu tinha configurado para 10 MB. O padrão do Apache é 128 KB.

    
por 23.08.2012 / 10:03
1

Esse problema ocorre durante uma renegociação SSL. Além de definir o tamanho do buffer de renegociação no Apache para um número muito alto, você tem algumas outras opções:

  • Configure seu host (virtual) para usar apenas uma única autenticação esquema para evitar renegociação todos juntos
  • Use um cliente que suporte HTTP 1.1 Expect Header

Veja link

    
por 20.03.2014 / 16:23

Tags