Released version 3.1-dev7 with the following main changes : - MINOR: config: Created env variables for http and tcp clf formats - MINOR: mux-quic: add buf_in_flight to QCC debug infos - MINOR: mux-quic: correct qcc_bufwnd_full() documentation - MINOR: tools: add helpers to backup/clean/restore env - MINOR: mworker: restore initial env before wait mode - BUG/MINOR: haproxy: free init_env in deinit only if allocated - BUILD: tools: environ is not defined in OS X and BSD - DEV: coccinelle: add a test to detect unchecked malloc() - DEV: coccinelle: add a test to detect unchecked calloc() - CI: QUIC Interop AWS-LC: enable ngtcp2 client - CI: fix missing comma introduced in 956839c0f68a7722acc586ecd91ffefad2ccb303 - CI: QUIC Interop: do not run bandwidth measurement tests - CI: QUIC Interop: use different artifact names for uploading logs - BUILD: quic: 32bits build broken by wrong integer conversions for printf() - CLEANUP: ssl: cleanup the clienthello capture - MEDIUM: ssl: capture the supported_versions extension from Client Hello - MEDIUM: ssl/sample: add ssl_fc_supported_versions_bin sample fetch - MEDIUM: ssl: capture the signature_algorithms extension from Client Hello - MEDIUM: ssl/sample: add ssl_fc_sigalgs_bin sample fetch - MINOR: proxy: Add support of 429-Too-Many-Requests in retry-on status - BUG/MEDIUM: mux-h2: Set ES flag when necessary on 0-copy data forwarding - BUG/MEDIUM: stream: Prevent mux upgrades if client connection is no longer ready - BUG/MINIR: proxy: Match on 429 status when trying to perform a L7 retry - CLEANUP: haproxy: fix typos in code comment - CLEANUP: mqtt: fix typo in MQTT_REMAINING_LENGHT_MAX_SIZE - MINOR: tools: Implement ipaddrcpy(). - MINOR: quic: Implement quic_tls_derive_token_secret(). - MINOR: quic: Token for future connections implementation. - BUG/MINOR: quic: Missing incrementation in NEW_TOKEN frame builder - MINOR: quic: Modify NEW_TOKEN frame structure (qf_new_token struct) - MINOR: quic: Implement qc_ssl_eary_data_accepted(). - MINOR: quic: Add trace for QUIC_EV_CONN_IO_CB event. - BUG/MEDIUM: quic: always validate sender address on 0-RTT - BUILD: quic: fix build errors on FreeBSD since recent GSO changes - MINOR: tools: extend str2sa_range to add an alt parameter - MINOR: server: add a alt_proto field for server - MEDIUM: sock: use protocol when creating socket - MEDIUM: protocol: add MPTCP per address support - BUG/MINOR: quic: Crash from trace dumping SSL eary data status (AWS-LC) - MEDIUM: stick-table: Add support of a factor for IN/OUT bytes rates - MEDIUM: bwlim: Use a read-lock on the sticky session to apply a shared limit - BUG/MEDIUM: mux-pt: Never fully close the connection on shutdown - BUG/MEDIUM: cli: Always release back endpoint between two commands on the mcli - BUG/MINOR: quic: unexploited retransmission cases for Initial pktns. - BUG/MEDIUM: mux-h1: Properly handle empty message when an error is triggered - MINOR: mux-h2: try to clear DEM_MROOM and MUX_MFULL at more places - BUG/MAJOR: mux-h2: always clear MUX_MFULL and DEM_MROOM when clearing the mbuf - BUG/MINOR: mux-spop: always clear MUX_MFULL and DEM_MROOM when clearing the mbuf - BUG/MINOR: Crash on O-RTT RX packet after dropping Initial pktns - BUG/MEDIUM: mux-pt: Fix condition to perform a shutdown for writes in mux_pt_shut() - CLEANUP: assorted typo fixes in the code and comments - DEV: patchbot: count the number of backported/non-backported patches - DEV: patchbot: add direct links to show only specific categories - DEV: patchbot: detect commit IDs starting with 7 chars - BUG/MEDIUM: clock: also update the date offset on time jumps - MEDIUM: server: add init-state
HAProxy
HAProxy is a free, very fast and reliable reverse-proxy offering high availability, load balancing, and proxying for TCP and HTTP-based applications.
Installation
The INSTALL file describes how to build HAProxy. A list of packages is also available on the wiki.
Getting help
The discourse and the mailing-list are available for questions or configuration assistance. You can also use the slack or IRC channel. Please don't use the issue tracker for these.
The issue tracker is only for bug reports or feature requests.
Documentation
The HAProxy documentation has been split into a number of different files for ease of use. It is available in text format as well as HTML. The wiki is also meant to replace the old architecture guide.
Please refer to the following files depending on what you're looking for:
- INSTALL for instructions on how to build and install HAProxy
- BRANCHES to understand the project's life cycle and what version to use
- LICENSE for the project's license
- CONTRIBUTING for the process to follow to submit contributions
The more detailed documentation is located into the doc/ directory:
- doc/intro.txt for a quick introduction on HAProxy
- doc/configuration.txt for the configuration's reference manual
- doc/lua.txt for the Lua's reference manual
- doc/SPOE.txt for how to use the SPOE engine
- doc/network-namespaces.txt for how to use network namespaces under Linux
- doc/management.txt for the management guide
- doc/regression-testing.txt for how to use the regression testing suite
- doc/peers.txt for the peers protocol reference
- doc/coding-style.txt for how to adopt HAProxy's coding style
- doc/internals for developer-specific documentation (not all up to date)
License
HAProxy is licensed under GPL 2 or any later version, the headers under LGPL 2.1. See the LICENSE file for a more detailed explanation.