Skip to content

Add CONNECT support #1451

@mattwoodyard

Description

@mattwoodyard

A follow up to #1214. Add support for CONNECT to envoy. There are 2 use cases for CONNECT that I'd like to add. Envoy receiving a CONNECT request, connecting to an upstream, issuing a 200 and then downgrading to L4 (similar to websocket support). The second is envoy using CONNECT when initiating an upstream L4 connection (the moral equivalent of envoy using http_proxy for some https upstreams). I think the first one is pretty straightforward.

  • Add a config option to enable CONNECT on the listener in http1_options
  • Update codec to support the right authority in CONNECT
  • Write a Http11ConnectHandlerImpl in the spirit of WsHandlerImpl

The second case is a little more unclear to me. Here's a straw man.

  • Upstreams get a 'use connect' flag.
  • When enabled any connections to that upstream are initiated with a CONNECT request exchange before the remain traffic is forwarded.

Metadata

Metadata

Labels

enhancementFeature requests. Not bugs or questions.help wantedNeeds help!

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions