[ 
https://issues.apache.org/jira/browse/JAMES-3788?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17575069#comment-17575069
 ] 

Benoit Tellier commented on JAMES-3788:
---------------------------------------

> I started implementing proxy support on netty level by adding netty's 
> HAProxyMessageDecoder. Since HAProxyMessageDecoder requires netty 4.x it will 
> be only available for James 3.8.x.

+1

> One issue I'm currently facing is HAProxyMessageDecoder throws an exception 
> if no PROXY command was issued. This would mean if you enable proxy support, 
> then it's currently not possible to talk directly to James. I will solve that.

IMO the right thing to do is to add an option in protocol configuration to 
activate proxy protocol or not, ie in imapserver.xml smtpserver.xml, etc...


> 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

Reply via email to