i came up with a round-about solution that works for my particular setup.
the proxying from my personal nginx to localhost was working, but when logging in, it would always redirect out to port 444, i realized this was because zimbra was set to always forward to https
i modified it to use http instead with
my nginx takes care of ssl, and proxies 443 to localhost:81, and everything works.
in case anyone is interested, here is my nginx conf that proxies to zimbra which runs off port 81 (used) and 444 (unused)
PHP Code:
# redirect http to https version
server {
listen 80;
server_name mail.mydomain.com;
rewrite ^(.*) https://mail.mydomain.com$1 permanent;
}
# my personal nginx will take care of ssl
# and then use zimbra http underneath since i don't care
# about security within the server, as it is all running on the same box
server {
listen 443;
server_name mail.mydomain.com;
ssl on;
ssl_certificate /path/to/cert.pem;
ssl_certificate_key /path/to/cert.pem;
ssl_session_timeout 5m;
ssl_protocols SSLv2 SSLv3 TLSv1;
ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
ssl_prefer_server_ciphers on;
location / {
include /etc/nginx/proxy.conf;
proxy_pass http://127.0.0.1:81;
proxy_redirect default;
}
}