hairpin-proxy enables PROXY protocol support for internal-to-LoadBalancer traffic in Kubernetes, resolving ingress-nginx and cert-manager HTTP01 validation issues.
PROXY protocol support for internal-to-LoadBalancer traffic for Kubernetes Ingress users. If you've had problems with ingress-nginx, cert-manager, LetsEncrypt ACME HTTP01 self-check failures, and the PROXY protocol, read on.
This tool is used by Kubernetes users running ingress controllers with LoadBalancer services who face issues with lost client source IPs and cert-manager ACME HTTP01 self-check failures due to PROXY protocol handling. It ensures that internal cluster traffic correctly supports the PROXY protocol, enabling seamless SSL certificate provisioning and ingress functionality.
hairpin-proxy addresses a specific Kubernetes networking issue where kube-proxy redirects outbound traffic to the LoadBalancer's internal IP, causing PROXY protocol failures when accessed internally. It is recommended for users employing ingress-nginx with use-proxy-protocol enabled and cert-manager for ACME HTTP01 validation. Ensure your cloud load balancer supports the PROXY protocol and that both load balancer and web server are configured accordingly.
Run kubectl apply -f https://raw.githubusercontent.com/compumike/hairpin-proxy/v0.2.1/deploy.ymlkubectl apply -f https://raw.githubusercontent.com/compumike/hairpin-proxy/v0.2.1/deploy.yml
Installs hairpin-proxy into the Kubernetes cluster to enable PROXY protocol support.