New Transparent capture is in preview. Record every app's traffic with no proxy configuration, on Windows, macOS and Linux. Learn more

serveHttp11Action Action

Advertise only HTTP/1.1 during the client side ALPN negotiation, even when Fluxzy is configured to serve HTTP/2 globally.

Most modern stacks default to HTTP/2 wherever they can, which is great for performance but awkward when older tooling or specific test scenarios depend on HTTP/1.1 framing. serveHttp11Action keeps the proxy itself on HTTP/1.1 for the matched exchanges, leaving everything else free to negotiate up.

When to use this action

serveHttp11Action controls the client to proxy leg of the connection. When the global ServeH2 option is enabled, Fluxzy normally advertises HTTP/2 to clients that support it. This action overrides that decision for matched exchanges so only HTTP/1.1 is offered during ALPN.

Reach for it when:

  • Debugging a client that misbehaves on HTTP/2 and you want to isolate the problem.
  • Capturing traffic for tooling that only understands HTTP/1.1 framing.
  • Running interop tests where the client side must speak HTTP/1.1 even though the upstream serves HTTP/2.

Note that this action only affects the connection between client and proxy. To control the proxy to server leg, use forceHttp11Action or forceHttp2Action.

Real world examples

Force HTTP/1.1 for a single host when ServeH2 is enabled globally

Useful for tooling or browsers that crash on HTTP/2 framing for a specific upstream. The rest of the capture keeps using HTTP/2.

rules:
- filter:
    typeKind: HostFilter
    pattern: legacy.example.com
  actions:
  - typeKind: ServeHttp11Action

Combine with forceHttp11Action for full HTTP/1.1 traffic

Pin both legs of the connection to HTTP/1.1 so the captured pcap is straightforward to read in any tool.

rules:
- filter:
    typeKind: HostFilter
    pattern: api.internal.example.com
  actions:
  - typeKind: ServeHttp11Action
  - typeKind: ForceHttp11Action

Reference

serveHttp11Action

Description

Force the downstream connection (client-to-proxy) to use HTTP/1.1. When the global ServeH2 option is enabled, this action overrides it for matched exchanges by only advertising HTTP/1.1 during ALPN negotiation with the client.

Evaluation scope

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.

YAML configuration name

serveHttp11Action

Settings

This action has no specific characteristic

Example of usage

The following examples apply this action to any exchanges

Force HTTP/1.1 serving for a specific host even when ServeH2 is globally enabled.

rules:
- filter:
    typeKind: AnyFilter
  actions:
  - typeKind: ServeHttp11Action

.NET reference

View definition of ServeHttp11Action for .NET integration.

See also

This action has no related action

Frequently asked questions

What exactly does this action change?

It controls the ALPN values that Fluxzy advertises to the client. With this action active, only http/1.1 is offered, so the client cannot upgrade to HTTP/2 on the proxy connection.

Does it affect the connection to the upstream server?

No. This action is scoped to the client side leg. Use forceHttp11Action or forceHttp2Action for the upstream leg.

Does the client need to be reconfigured?

No. ALPN negotiation happens during the TLS handshake, and the client simply picks the version Fluxzy advertises.

Is there a performance impact?

HTTP/1.1 cannot multiplex requests, so high concurrency clients may see lower throughput. Scope the rule to the hosts that actually need it.

Learn more about Fluxzy rules