Я запускаю следующую ошибку из PHP-компонента, который использует CURL для запроса URI через SSL:
cURL error 35: gnutls_handshake() failed: A TLS packet with unexpected length was received.
Эта ошибка возникает в среде traviscc.org, но не в любой из тестовых сред. См. Travis-ci build 144663700.
Я выяснил, что версия PHP, работающая в рабочем месте Travis, снова скомпилирована "GnuTLS/2.12.14" на "Ubuntu 12.04.5 LTS" или с "GnuTLS/2.12.23" на "Ubuntu 14.04.3 LTS".
В наших средах разработки мы используем стандартные пакеты, скомпилированные против "OpenSSL/1.0.1t" в Debian (различные версии).
Поэтому я предполагаю, что проблема связана с "GnuTLS/2.12.14" или "GnuTLS/2.12.23" или с параметрами, с которыми они были скомпилированы.
Я попытался ограничить версии SSL с константой CURL CURLOPT_SSLVERSION, но это не решает проблему.
Согласно www.ssllabs.com, ведущий, о котором идет речь, - api.reporting.cloud - поддерживает TLS 1.2, TLS 1.1 и TLS 1.0.
У кого-нибудь есть намеки или указатели для меня?