This is an old revision of the document!
gate# apt install haproxy gate# cat wild.crt wild.key > /etc/ssl/private/wild.crtkey gate# cat /etc/haproxy/haproxy.cfg
... frontend kubernetes-ingress mode http bind *:80 bind *:443 ssl crt /etc/ssl/private/gate.crtkey option tcplog default_backend kubernetes-ingress backend kubernetes-ingress http-request set-header X-Forwarded-Proto https if { ssl_fc } # For Proto http-request set-header X-Forwarded-Host %[req.hdr(Host)] http-request set-header X-Forwarded-Port %[dst_port] # http-request add-header X-Real-Ip %[src] # Custom header with src IP # option forwardfor # X-forwarded-for # http-request set-uri https://%[req.hdr(Host)]%[path]?%[query] if { ssl_fc } mode http balance roundrobin server kube1 kube1:80 check server kube2 kube2:80 check server kube3 kube3:80 check
# haproxy -f /etc/haproxy/haproxy.cfg -c Configuration file is valid # service haproxy restart # journalctl -f | grep proxy haproxy# curl http://localhost:80/ -H "Host: webd.corpX.un"