Issues with nginx proxy
One user is having issues connecting to Zimbra and receives a 503 error message from nginx. Checking the nginx log file I see
If a colleague or myself connect to mail01.domain.com we can login just fine and we are on the same network as the troubled user. All DNS lookups respond okay. Any pointers please as this has me baffled.
2010/02/17 08:32:15 [error] 12677#0: *3663 zmauth: route handler 172.30.10.73:7072 did not send server or port, client: 172.29.28.2, server: zimbra01.domain.com, request: "GET / HTTP/1.1", host: "mail01.domain.com"
I believe what we are experiencing is a caching issue. The proxy setup is configured as:
smtp01 -> zimbra01
if I connect to zimbra01 all works fine; and at that point the route handler stores my account name and where my mail store is. If I then connect to mail01 which is a CNAME to zimbra01 I can still connect as the route handler knows where to send me.
If a new users comes along and connects, for the first time, to mail01 it will not know where the mailstore is.
Is it possible to overcome this ? Can we pre-load the route handler with where mailboxes are stored ?
> Is it possible to overcome this ? Can we pre-load the route handler with where mailboxes are stored ?
Well thats the job of proxy, to cache final route information in memcache so that following requests go to correct mailstore.
Was user account moved using zmmailboxmove to some other server ? Did you try restarting proxy to purge all old cached info ?
This was a vanilla install on ZCS 6.0.5. The issue appears to be using a CNAME to the ZCS mailstore for connectivity.
As soon as my colleague connected to zimbra01 all worked fine. What I do not understand is how both my other colleague and myself could connect via the CNAME.
I have read AJCodys notes on the nginx and memcache process flow.
No offense :) but I guess I misunderstood your question.
If a new user comes for the 1st time it could be that his mailbox is not yet created ( assuming no mail arrived yet ). Accessing mailbox for the user directly using mailbox server name creates it and I presume that also holds when accessed via proxy, but I am not sure and never tested that.
No problem :) I migrated the user from one Zimbra server to another using zmmailbox. Prior to enabling nginx all worked fine. It is something to do with how nginx and memcached handles the connections.
Seems Nginx still has a cache entry for the account. Restart of proxy didn't help ?
thats correct. flush cache works.