This SRE's HAProxy Config Change: An Unexpected Journey
Jan 14, 2021Igor Wiedler

Summary
This post details a debugging journey involving an HAProxy configuration change for the gitlab-pages PROXYv2 project. The core issue was the `server-state-file` directive in HAProxy, which persisted the old port number (1443) even after the configuration was updated to use a new port (2443) for PROXYv2 traffic. This led to HAProxy attempting to send PROXYv2 traffic to the TLS port, causing connection failures. The workaround involved changing the backend server name to bypass the state file's port override. The post also explains the discovery of the PROXY protocol v2 header signature.
More from the High Availability trail
- Consolidate your GitLab stack with Gitaly on Kubernetes
- GitLab backs 99.9% availability SLA with service credits
- Downtime happens, but GitLab Incident Management can help
- How we are closing the gap on replicating *everything* in GitLab Geo
- How we tested a feature that affected (almost) all parts of GitLab