Skip to content

[REQ] option to disable protocol upgrade for Apache client #20974

Open
@gnarroway

Description

@gnarroway

Is your feature request related to a problem? Please describe.

Recent versions of Apache httpclient default to trying to upgrade TLS. This is incompatible with certain middleware such as envoy/istio as documented at istio/istio#53239

The suggested workaround is to disable that behaviour in the client by using setProtocolUpgradeEnabled

Describe the solution you'd like

Add support for setting this on the client for all requests. Note that the method only exists on recent versions so will have to be graceful (do nothing if the client version is below 5.4)

Describe alternatives you've considered

  • use a non Apache client
  • force the Apache version to remain outdated, but this can conflict with other deps

Additional context

As per the attached issue, this will start to become a more prevalent issue as spring etc update their dependency version, resulting in mysterious errors in run time whenever envoy is used. Providing an option around it is the best path forward.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions