Возможно, сервер не поддерживает ALPN . Например, Debian 8.0 (с OpenSSL 1.0.1k) поддерживает только NPN 2 . Но Ubuntu 16.04 поставляет OpenSSL 1.0.2g, который поддерживает ALPN, поэтому я не уверен, что это проблема.
Я не думаю, что это могло вызвать ошибки HTTP 400, кроме случаев, когда сервер применяет HTTP2.