Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion content/momentum/4/modules/ha-proxy-client.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,13 @@
---
lastUpdated: "10/05/2021"
lastUpdated: "05/20/2026"
title: "ha_proxy_client - HAProxy protocol client module"
description: "The ha_proxy_client module is used to configure Momentum to use HAProxy's PROXY protocol version 2 for outbound connections (see https://github.com/haproxy/haproxy/blob/master/doc/proxy-protocol.txt). This can be leveraged in cases where your sending IPs are deployed on a different machine than Momentum."
---

## Configuration

* When configured for a binding or binding group Momentum will connect to the given `ha_proxy_server` and prefix the SMTP session with a PROXY protocol version 2 header.
* `ha_proxy_server` accepts either a literal `IP:port` or a `hostname:port`. When a hostname is used, Momentum resolves it at configuration load and then re-checks DNS during each [health check](#health-check): if the resolved address leaves the answer set (for example, the backend was redeployed with a new IP) Momentum will switch new connections to the updated address automatically, with no restart or configuration reload required. Detection happens through Momentum's DNS cache, so the [`resolv_conf`](/momentum/4/config/ref-resolv-conf) setting and DNS TTLs apply; expect a delay of up to one health check interval plus the record TTL before the switch.
Comment thread
dkoerichbird marked this conversation as resolved.
* The `dst_addr` and `dst_port` will be filled in with the resolved MX, the `src_addr` will be filled in with the configured value of `ha_proxy_src_addr` if the destination family is IPV4, or `ha_proxy_ipv6_src_addr` if the destination family is IPV6. If you need to deliver to both IPV4 and IPV6 destinations then you must configure both options for the binding or binding_group.
* The `ha_proxy_bypass` option allows you to bypass the proxy and follow the normal delivery method on a domain by domain basis.
* It is the customers responsibility to configure a listener at `ha_proxy_server` that listens for PROXY protocol and forwards traffic based on `dst_addr:dst_port`.
Expand Down
1 change: 1 addition & 0 deletions content/momentum/changelog/5/5-3-0.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,3 +12,4 @@ This section will list all of the major changes that happened with the release o
| --- | --- | --- |
| Feature | I-1064 | Added support for [license](/momentum/4/before-you-begin#momentum-license) signatures using ECDSA P-256 with SHA-256. |
| Feature | I-1214 | Removed `msys-nodejs` RPM from the Momentum bundle, to be replaced with the 3rd-party `nodejs` package. Node.js LTS 24+ must be installed separately from the system or a vendor repository. |
| Fix | TASK-227757 | [`ha_proxy_client`](/momentum/4/modules/ha-proxy-client) now re-resolves a hostname-based `ha_proxy_server` during each health check, so backend IP changes are picked up automatically without restart. |
Loading