Eu encontrei a solução para o meu problema: Eu estava contatando o Apache com o protocolo HTTP na porta 80. Assim que entrei em contato com o Apache na porta 443, o envio do formulário funcionou.
Eu tenho um Tomcat no qual meu aplicativo está em execução e agora estou tentando configurar um Apache como proxy reverso. Estou fazendo isso porque quero adicionar alguns cabeçalhos às solicitações que recebo de alguns dispositivos móveis de teste.
Este é um extrato do httpd.conf
<IfModule headers_module>
RequestHeader set uid 123
RequestHeader set X_FORWARDED_PROTO 'https'
</IfModule>
ProxyPass / https://localhost:9002/ Timeout=5400 Keepalive=On
ProxyPassReverse / https://localhost:9002/
Timeout 5400
ProxyTimeout 5400
SSLProxyEngine on
SSLProxyVerify none
SSLProxyCheckPeerCN off
SSLProxyCheckPeerName off
SSLProxyCheckPeerExpire off
O proxy reverso funciona basicamente, exceto quando tento enviar um formulário Eu recebo o seguinte erro: HTTP Status 403 - Bad or missing CSRF value
. Eu sei que isso não é um problema com o meu aplicativo, porque se eu enviar o mesmo formulário conectando diretamente ao Tomcat ele funciona. Eu também verifiquei com o Firebug que o parâmetro CSRF está realmente sendo enviado. Então, meu palpite é que eu perdi alguma coisa configurando o Apache.
Qualquer ajuda seria apreciada.
Tags tomcat apache-http-server