Not sure without seeing the actual traffic logs, but there are some broken IMAP
servers (including some version of Zimbra, or maybe it's nginx) that
don't respond to Dovecot when it pipelines multiple commands. See if
returning proxy_nopipelining=y in passdb fixes this.
On 1.4.2014, at 13.09, Tobias Oetiker <tobi at oetiker.ch> wrote:
> we have setup a two level proxy configuration for our zimbra server:
>
> [ dovecot 2.2.12 (imap proxy mode) ]
> V
> [ nginx (imap proxy mode) ]
> V
> [ zimbra imap server]
>
> and it does not work ... after tying a login, the connection just
> hangs and ends after 30 seconds with a timeout.
>
> - if I try again rightaway in the same dovecot connection, the login
> goes though without trouble.
>
> - looking at this with tshark I can see that on the second attempt,
> there is no capabilities query, dovecot just goes ahead and
> connects.
>
> if we drop nginx from the setup all is well also (login works
> directly as expected)
>
> - investigating the traffic differences between the setups with and
> without nginx, we find that for some reason dovecot does not
> react to the capabily answer from nginx. while it seems to
> happily accept the same answer when it is coming from zimbra
> directly.
>
> - the only difference I can see on the wire is that nginx is much
> quicker (2.5ms) in responding than the zimbra (25ms) server and
> that the position of the STARTTLS and SASL=PLAIN capabilities in
> the capability answer differs between the two.
>
> any ideas ?
>
> cheers
> tobi
>
> --
> Tobi Oetiker, OETIKER+PARTNER AG, Aarweg 15 CH-4600 Olten, Switzerland
> www.oetiker.ch tobi at oetiker.ch +41 62 775 9902
> *** We are hiring IT staff: www.oetiker.ch/jobs ***