Skip to content

Add header support to HttpConnectProxiedSocketAddress #9826

@lambdai

Description

@lambdai

Title
Can we add haproxy protocol at client side aside from server side proxy protocol (#8949) ?

Motivation

HTTP2 parser may not be trivial in a simple proxy. I experimented the codec of Envoy.
A TCP proxy reaches 8-10x throughput vs HTTP2 proxy because TCP proxy does not parse and materialize HTTP2 structures such as header. However, a reasonable TCP proxy wants more than TCP addresses to determine the route.

The HAProxy protocol can deliver resourceful attributes via TLV fields. It would be great if GRPC channel could support adding channel-wide attributes.

There is a Negotiator can be used to achieve "self-defined TCP payload ahead of H2 channel".

Alternative

Currently, only HTTP 1.1 CONNECT (aka https proxy) is offered in the GRPC channel, with a weak API.
E.g. only user and password are supported to define the HTTP1.1 CONNECT request, while HTTP1 supports any legit HTTP header names and values.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions