Клиент отправляет TCP ACK FIN сразу после успешного TLS Handshake
У меня проблема с одним из моих виртуальных хостов. Мой конфиг: обратный прокси с Centos 7 + apache 2.4 и бэкэнд с Microsoft IIS 6.0.
Когда я делаю скручивание с прокси на виртуальный хост (curl -k https://blabla.com/), я получаю ошибку прокси:
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>500 Proxy Error</title>
</head><body>
<h1>Proxy Error</h1>
The proxy server could not handle the request <em><a href="/">GET /</a></em>.<p>
Reason: <strong>Error during SSL Handshake with remote server</strong></p><p />
</body></html>
Когда я смотрю на пакеты, это то, что я получаю:
1) Client sends [SYN] to server.
2) Server sends [SYN,ACK] to client.
3) Client sends [ACK] to server.
4) Client sends the message “Client Hello” to the server.
5) Server sends its public key with the message “Server Hello, Certificate, Server Hello Done”
6) Client sends its public key with the message “Client Key Exchange, Change Cipher Spec, Encrypted Handshake Message”
7) Server sends encrypted handshake message with the message “Change Cipher Spec, Encrypted Handshake Message”
8) Client sends [FIN,ACK]
9) Server sends RST
Шифр, который сервер хочет использовать, это tls_rsa_with_3des_ede_cbc_sha.
У меня нет доступа к бэкэнд-серверу.
Но когда я делаю то же самое, но от прокси до реального IP-адреса бэкэнда (например, curl -k https://10.0.0.1/), это работает отлично. Просто при прохождении через прокси он не работает.
Вы знаете, что происходит не так?