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@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@oetiker.ch +41 62 775 9902 *** We are hiring IT staff: www.oetiker.ch/jobs ***