EXCEPTION(tcp_error): Request could not be handled with HTTP/2 Proxy
search cancel

EXCEPTION(tcp_error): Request could not be handled with HTTP/2 Proxy


Article ID: 249158


Updated On:


ProxySG Software - SGOS


Accessing some websites through the ProxySG results in the browser displaying the error message EXCEPTION(tcp_error): Request could not be handled.


SGOS versions prior to


This issue can occur when communicating with web servers that partially support HTTP/2. In these scenarios, they start the connection using HTTP/2 but request a downgrade to HTTP/1.1 for some requests. For instance, servers like IIS don't support auth (and possibly other cases) over HTTP/2. They may send back a RST_STREAM frame with error code HTTP_1_1_REQUIRED, which indicates that the client should retry over HTTP/1.1. The proxy currently translates any received upstream RST_STREAM to a pseudo socket close; so the HTTP proxy just sees this as a generic tcp_error and generates a 503 exception page, and the client browser doesn't know why it failed.

Web Browsers such as Chromium and Mozilla have added support for this downgrade mechanism whereby they will re-issue requests over HTTP/1.1 when receiving the HTTP_1_1_REQUIRED error code.


To support this functionality in SGOS, the HTTP/2 proxy will now propagate this error message to the client-side HTTP/2 connection so the browser can proceed with its downgrade behavior.

Support for this functionality is available in release


Workaround (applicable to 7.3 versions prior to or later):

Disable HTTP/2 for the website.

client.connection.ssl_server_name.substring=example.com http2.client.accept(no) http2.server.request(no)