[ https://issues.apache.org/jira/browse/JAMES-3788?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17563750#comment-17563750 ]
Benoit Tellier commented on JAMES-3788: --------------------------------------- Looks like a very good protocol agnostic solution, this looks good to me! Also having a sample haproxy configuration to enable proxy protocol and a bit of configuration would definitly be nice (as well as a notice of what can be load balanced and what can't) > Support for HAProxy Proxy Protocol > ---------------------------------- > > Key: JAMES-3788 > URL: https://issues.apache.org/jira/browse/JAMES-3788 > Project: James Server > Issue Type: New Feature > Components: protocols > Reporter: ouvtam > Priority: Minor > > As proposed in the gitter channel I would like to add support for HAProxy's > PROXY protocol > ([https://www.haproxy.org/download/2.7/doc/proxy-protocol.txt|https://www.haproxy.org/download/2.7/doc/proxy-protocol.txt).]). > This allows to run James behind HAProxy (i.e. load balancing multiple James > instances). In order to properly support the proxy protocol James needs to > parse the provided PROXY arguments from HAProxy (remote ip address, remote > port etc.) and store it in the SMTPSession for further processing (e.g. > DNSRBL check, Authorized Networks etc.). Otherwise James uses HAProxy's > address (e.g. localhost) as remote address. > For instance, HAProxy sends following line after connecting: > {code:java} > "PROXY TCP4 255.255.255.255 255.255.255.255 65535 65535\r\n" {code} > Netty already provides a codec for HAProxy's protocol > (io.netty.handler.codec.haproxy), so this can be implemented in the transport > layer of James. -- This message was sent by Atlassian Jira (v8.20.10#820010) --------------------------------------------------------------------- To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org