O corpo da solicitação HTTP CONNECT é reduzido para / quando o proxy é executado por meio do Apache

1

Estou usando o Apache 2.2.15 como um proxy reverso em execução no Scientific Linux 6. Ele está sendo usado para conectar um aplicativo a um servidor remoto, onde o aplicativo que está sendo conectado requer que a solicitação CONNECT seja concluída com o corpo intacto.

O proxy recebe a conexão corretamente:

CONNECT <destinationhost>:6220 HTTP/1.1

Mas o servidor de destino recebe isso:

[17/Jun/2014:15:01:13 +0200] "CONNECT / HTTP/1.1" 400 346 "-" "-" 

Então, em algum lugar dentro do proxy, o corpo do CONNECT é "removido"? Todos os outros métodos de solicitação funcionam bem, os problemas surgem apenas ao usar o CONNECT. Isso acontece com o TLS e sem. Todos os cabeçalhos parecem passar corretamente.

Minha configuração de proxy é a seguinte:

<VirtualHost *:80>
    <Proxy *>
        Order deny,allow
        Allow from all
    </Proxy>

    ProxyPass / http://destinationhost:8082/
    ProxyPassReverse / http://destinationhost:8082/
</VirtualHost>

Eu tentei a diretiva "AllowCONNECT 6220" e usando proxying RewriteRules, mas eles não parecem fazer a diferença.

Os resultados são os mesmos com um simples teste de telnet, e ao usar o Apache rodando na minha máquina Ubuntu local como proxy. Então, esse comportamento normal para CONNECT e o problema é, na verdade, o aplicativo em execução no destino, esperando uma solicitação CONNECT "malformada"?

Se não, qual poderia ser o problema?

    
por hannu40k 17.06.2014 / 15:26

0 respostas