Falha de handshake do método HTTP CONNECT do proxy do Apache entre o servidor Apache e o servidor de destino

1

Apache / 2.2.25 (Win32) mod_ssl / 2.2.25 OpenSSL / 0.9.8y

Estou tentando fazer com que o método HTTP CONNECT funcione com o Apache. Estou testando com dois servidores de destino diferentes. Funciona bem com um servidor, mas falha com o outro. Abaixo está o rastreio do Wireshark para a conexão entre o servidor Apache e o servidor de destino onde ele falha. Parece que o servidor Apache envia um alerta antes de dar ao servidor de destino a chance de enviar o servidor Hello. Por que isso está acontecendo?

Apache - > Destino TCP 57070 > https [SYN] Seq = 0 Win = 8192 Len = 0 MSS = 1460 WS = 256 SACK_PERM = 1

Destino - > Apache TCP https > 57070 [SYN, ACK] Seq = 0 Ack = 1 Vitória = 4380 Len = 0 MSS = 1460 WS = 1 SACK_PERM = 1

Apache - > Destino TCP 57070 > https [ACK] Seq = 1 Ack = 1 Win = 131328 Len = 0

Apache - > Destino SSLv3 Cliente Olá

Apache - > Alerta de SSLv3 de destino (Nível: Fatal, Descrição: falha de handshake)

Apache - > Destino TCP 57070 > https [FIN, ACK] Seq = 80 Ack = 1 Win = 131328 Len = 0

Destino - > Servidor Apache SSLv3 Hello

Apache - > Destino TCP 57070 > https [RST, ACK] Seq = 81 Ack = 1461 Win = 0 Len = 0

    
por user211717 05.03.2014 / 18:17

1 resposta

0

A razão pela qual isso não estava funcionando foi porque o Apache está enviando a resposta para a solicitação CONNECT como dois pacotes separados:

Pacote 1: Conexão HTTP / 1.0 200 Estabelecida

Pacote 2: Agente de proxy: Apache / 2.2.25 (Win32) mod_ssl / 2.2.25 OpenSSL / 0.9.8y

Eu estava quebrando o loop de leitura do soquete em "200 Connection" e o Packet 2 estava sendo usado como o Server Hello, já que era o próximo pacote na fila.

    
por 01.04.2014 / 20:55