I realize that this is an earlier post, but I'd like to share our case...
We are running Zimbra 8.0.2 behind an Nginx reverse proxy...
We had set all the headers and tried everything herein described.
Well, it turns out that there is a combination of two things that has to be done.
On the Reverse Proxy Nginx configuration file for the virtual server to webmail Zimbra, make sure to have declared under "Location"
And on the Zimbra host, make sure to have on /opt/zimbra/jetty/etc/jetty.xml.in the following change, under
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
<!-- user services connector, SSL --> and/or (depending on your configuration)
<!-- user services connector, no SSL -->
And it works after zmcontrol restart