haproxy/8.3.0
You can find the source of this version on GitHub at cloudfoundry-incubator/haproxy-boshrelease. It was created based on the commit 544916ce.
Release Notes¶
Improvements
The default values for
ha_proxy.keepalive_timeoutandha_proxy.request_timeouthave been reduced to0.2seconds, and5seconds, respectivelyThere is now the ability to configure a backend port separate from the frontend port for the TCP backend configured via the
tcp_backendlink. If thebackend_portproperty is exposed in the link, it is used. If not, theha_proxy.tcp_link_portwill be used. If that is not set, theportlink property will be used.The HTTP Host header is now logged by HAProxy on http/https backends.
HAProxy can now be configured to run across multiple cores, for improved performance when handling SSL termination, via the
ha_proxy.threadsproperty. If enabled, this will create additional HAProxystatssockets (as well as http-based listeners, ifha_proxy.stats_bindis also enabled) - one for each new HAProxy process. If you are monitoring HAProxy performance using those endpoints, make sure that you grab statistics from each monitoring socket, as each one is tied to a single HAProxy process.Generic blacklist + whitelist support has been added for HAProxy for http and https listeners. If specified, HAProxy will ensure requests come from an IP that is either whitelisted, or not blacklisted. See the
ha_proxy.cidr_blacklist,ha_proxy.cidr_whitelist, andha_proxy.block_allproperties.
These options are separate from the ha_proxy.internal_only_domains and ha_proxy.trusted_domain_cidrs.
The latter add ACLs to specific domains, whereas these new settings apply across all traffic.
The load balancing algorithm for TCP backends can be defined by adding the
balanceproperty to the backend definition. Defaults toroundrobin, and must be one of HAProxy’s supported load balancing algorithms.The HAProxy
tune.bufsizeis now configurable via theha_proxy.buffer_size_bytesproperty, should HAProxy need to be able to handle requests with large cookies/query strings that exceed the default16384bytesThe
ha_proxy.enable_health_check_httpproperty can be specified to enable a health-check on the http/https backend servers. If set totrue, this will cause HAProxy to listen on:8080on the HAProxy server’s IP. Setting thehealth_check_httpproperty on TCP backend definitions to a port number will similarly enable an http-based health check endpoint on the specified port.
Acknowledgments
Many thanks to Juergen Graf, Soha Alboghdady, and Felix Reyn for all their contributions to this release!
Usage¶
You can reference this release in your deployment manifest from the releases section:
- name: "haproxy" version: "8.3.0" url: "https://bosh.io/d/github.com/cloudfoundry-incubator/haproxy-boshrelease?v=8.3.0" sha1: sha256:
Or upload it to your director with the upload-release command:
bosh upload-release --sha1=sha256: \ "https://bosh.io/d/github.com/cloudfoundry-incubator/haproxy-boshrelease?v=8.3.0"