HTTP/2 is the default for almost every modern endpoint, which means HTTP/1.1 behaviour is sometimes hard to observe. forceHttp11Action is the simplest way to pin the upstream leg back to 1.1 so you can read the framing, compare implementations, or reproduce a protocol specific bug.
Reach for forceHttp11Action when you want to observe how a client or server behaves over HTTP/1.1, regardless of what they would normally negotiate. Fluxzy sets the ALPN list during the TLS handshake to advertise only http/1.1, so the upstream picks 1.1 by protocol.
Typical situations include:
The action runs on the onAuthorityReceived scope, so the protocol is pinned before the TLS handshake starts. It only affects the Fluxzy to remote leg of the connection.
Lets you compare 1.1 and 2 behaviour by toggling this rule on or off.
rules:
- filter:
typeKind: HostFilter
pattern: api.internal.example.com
actions:
- typeKind: ForceHttp11Action
Useful for a temporary debugging session where most traffic should remain on HTTP/2 but one host needs investigation.
rules:
- filter:
typeKind: FilterCollection
operation: And
children:
- typeKind: AnyFilter
- typeKind: HostFilter
pattern: cdn.example.com
inverted: true
actions:
- typeKind: ForceHttp11Action
Targets a subset of endpoints, leaving the rest of the host on the default ALPN result.
rules:
- filter:
typeKind: FilterCollection
operation: And
children:
- typeKind: HostFilter
pattern: payments.example.com
- typeKind: PathFilter
pattern: /legacy/
actions:
- typeKind: ForceHttp11Action
Force the connection between fluxzy and remote to be HTTP/1.1. This value is enforced by ALPN settings set during the SSL/Handshake handshake.
Evaluation scope defines the timing where this filter will be applied.
onAuthorityReceived This scope denotes the moment fluxzy is aware the destination authority. In a regular proxy connection, it will occur the moment where fluxzy parsed the CONNECT request.
forceHttp11Action
This action has no specific characteristic
The following examples apply this action to any exchanges
Force the connection between fluxzy and remote to be HTTP/1.1. This value is enforced by ALPN settings set during the SSL/Handshake handshake.
rules:
- filter:
typeKind: AnyFilter
actions:
- typeKind: ForceHttp11Action
View definition of ForceHttp11Action for .NET integration.
The following actions are related to this action:
No. It only changes the protocol Fluxzy uses to talk to the upstream. The client to Fluxzy connection is negotiated separately.
Practically every public HTTPS server supports HTTP/1.1, so failures are rare. If a server truly only speaks HTTP/2, the TLS handshake will close because ALPN cannot agree on a protocol.
Yes. They are independent. Pin TLS 1.2 plus HTTP/1.1 together to closely match an older client baseline.
serveHttp11Action affects the connection between the client and Fluxzy. forceHttp11Action affects the connection between Fluxzy and the upstream server.