Skip to content

[FEATURE] HTTP/2 End-to-end to Apache - Upgrade HAProxy #331

@freephile

Description

@freephile

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

I'd like to be able to take advantage of HTTP/2 (and HTTP/3 protocol) for improved network performance.

Describe the solution you'd like

Instead of doing HTTPS all the way to the backend which would cause us to lose many or most of the benefits of having a proxy, I'd like to use the "cleartext" variant HAProxy h2c backend

HAProxy continues to terminate client TLS and negotiate h2 via ALPN (as today), but forwards requests downstream to Apache using cleartext HTTP/2 (h2c) instead of HTTP/1.1.

HAProxy changes:

Add proto h2 to each server line in www-backend — this tells HAProxy to speak h2c to that backend
Apache changes (httpd.conf / VirtualHost on :8080):

Load mod_http2
Add Protocols h2c http/1.1 to the VirtualHost (h2c is the cleartext variant; plain h2 requires TLS on the Apache side)

What you keep: All existing HAProxy layer-7 features — bot blocking, rate limiting, HSTS injection, X-Forwarded-For, certbot/ACME, the redirect scheme https in www-backend, and the nonwiki/netdata routing. Nothing about the TLS setup changes.

Constraint: Requires HAProxy ≥ 2.0. Your current config uses reqadd which is HAProxy 1.x syntax, so this would require a HAProxy upgrade alongside the feature work. (We're currently on HAProxy 1.8 which is 5 yrs old because we're using RHEL8 / RockyLinux8)

Metadata

Metadata

Assignees

Labels

OSLinux, Windows, Mac, Operating System relatedbest practicesdoing the right stuffenhancementNew feature or requesthaproxyHigh Availability Proxy / Load Balancer

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions