Zimbra Proxy Guide: Difference between revisions

(Adding ArticleInfobox)
(Doc updates as of 8.5)
Line 1: Line 1:
{{ZC}}
{{ZC}}
{{Article Infobox|{{admin}}||{{ZCS 5.0}}|}}Zimbra Proxy is a high performance POP/IMAP proxy server, which allows end users to access their Zimbra Collaboration Suite (ZCS) account using end clients such as Microsoft Outlook, Mozilla Thunderbird, or other POP/IMAP end client software. End users can connect using POP3, IMAP, POP3S (Secure POP3), or IMAPS (Secure IMAP).
{{Article Infobox|{{admin}}||{{ZCS 8.5}}|}}Zimbra Proxy is a high-performance proxy server that can be configured as a POP3/IMAP/HTTP proxy used to reverse proxy IMAP/POP3 and HTTP client requests to a set of backend servers. End users can connect using HTTP, HTTPS, POP3, IMAP, POP3S (Secure POP3), or IMAPS (Secure IMAP).


This guide covers Zimbra Proxy components, architecture, and command-line utilities. For information about other ZCS services, see the Zimbra Network Edition Documentation at http://www.zimbra.com/products/documentation.html.
This guide covers Zimbra Proxy components, architecture, and command-line utilities. For information about other ZCS services, see the Zimbra Network Edition Documentation at http://www.zimbra.com/products/documentation.html.


=Zimbra Proxy Components=
=Zimbra Proxy Components=
Zimbra Proxy is designed to provide a POP/IMAP proxy that is quick, reliable, and scalable. Zimbra Proxy includes the following:
Zimbra Proxy is designed to provide a HTTP/POP/IMAP proxy that is quick, reliable, and scalable. Zimbra Proxy includes the following:
*'''Nginx'''. A high performance IMAP/POP3 proxy server which handles all incoming POP/IMAP requests.
*'''Nginx'''. A high performance HTTP/IMAP/POP3 proxy server which handles all incoming HTTP/POP/IMAP requests.
*'''Memcached'''. A high performance, distributed memory object caching system. Route information is cached for further use in order to increase performance.
*'''Memcached'''. A high performance, distributed memory object caching system. Route information is cached for further use in order to increase performance.
*'''Zimbra Proxy Route Lookup Handler'''. This is a servlet located on the ZCS mailbox server. This servlet handles queries for the user account route information (the server and port number where the user account resides).
*'''Zimbra Proxy Route Lookup Handler'''. This is a servlet located on the ZCS mailbox server. This servlet handles queries for the user account route information (the server and port number where the user account resides).
Line 28: Line 28:
! Zimbra Proxy Ports  
! Zimbra Proxy Ports  
! Port
! Port
|-
| HTTP
| 80
|-
| HTTPS
| 443
|-
|-
| POP3  
| POP3  
Line 47: Line 53:
| 7072
| 7072
|-
|-
| POP3 Proxy
| HTTP Backend (if Proxy configured)
| 8080
|-
| HTTPS Backend (if Proxy configured)
| 8443
|-
| POP3 Backend (if Proxy configured)
| 7110
| 7110
|-
|-
| POP3S Proxy
| POP3S Backend (if Proxy configured)
| 7995
| 7995
|-
|-
| IMAP Proxy
| IMAP Backend (if Proxy configured)
| 7143
| 7143
|-
|-
| IMAPS Proxy
| IMAPS Backend (if Proxy configured)
| 7993
| 7993
|}
|}
Line 74: Line 86:
| --getAllReverseProxyURLs
| --getAllReverseProxyURLs
| -garpu
| -garpu
| Used to publish into nginx.conf the servers that should be used for reverse proxy lookup
| Used to list all the upstream mailstore servers (NLEs) that should be used for reverse proxy lookup by the proxy
|-
| --getAllReverseProxyBackends
| -garpb
| Used to list all the upstream mailstore servers that are reverse-proxied by the proxy
|-
|-
| --getAllMtaAuthURLs  
| --getAllMtaAuthURLs  
Line 86: Line 102:




{{Article_Footer|ZCS 5.0.x|4/15/2008}}
{{Article_Footer|ZCS 8.5.x|6/2/2014}}


[[Category:Architecture and Components]]
[[Category:Architecture and Components]]
Line 92: Line 108:
[[Category:Command Line Interface]]
[[Category:Command Line Interface]]
[[Category:Ports]]
[[Category:Ports]]
[[Category:ZCS 5.0]]
[[Category:ZCS 8.5]]
[[Category:Proxy]]
[[Category:Proxy]]

Revision as of 18:40, 2 June 2014

Admin Article

Article Information

This article applies to the following ZCS versions.

ZCS 8.5 Article ZCS 8.5

Zimbra Proxy is a high-performance proxy server that can be configured as a POP3/IMAP/HTTP proxy used to reverse proxy IMAP/POP3 and HTTP client requests to a set of backend servers. End users can connect using HTTP, HTTPS, POP3, IMAP, POP3S (Secure POP3), or IMAPS (Secure IMAP).

This guide covers Zimbra Proxy components, architecture, and command-line utilities. For information about other ZCS services, see the Zimbra Network Edition Documentation at http://www.zimbra.com/products/documentation.html.

Zimbra Proxy Components

Zimbra Proxy is designed to provide a HTTP/POP/IMAP proxy that is quick, reliable, and scalable. Zimbra Proxy includes the following:

  • Nginx. A high performance HTTP/IMAP/POP3 proxy server which handles all incoming HTTP/POP/IMAP requests.
  • Memcached. A high performance, distributed memory object caching system. Route information is cached for further use in order to increase performance.
  • Zimbra Proxy Route Lookup Handler. This is a servlet located on the ZCS mailbox server. This servlet handles queries for the user account route information (the server and port number where the user account resides).

Zimbra Proxy Architecture

Architecture and Flow

The following sequence shows the architecture and flow of Zimbra Proxy.

  1. End clients connect to Zimbra Proxy using POP/IMAP ports.
  2. When Zimbra Proxy receives an incoming connection, the Nginx component sends an HTTP request to Zimbra Proxy Route Lookup Handler component.
  3. Zimbra Proxy Route Lookup Handler locates the route information for the account being accessed and returns this to Nginx.
  4. The Memcached component stores the route information for the configured period of time (by default, this time is one hour). Nginx will use this route information instead of querying the Zimbra Proxy Route Lookup Handler until the default period of time has expired.
  5. Nginx uses the route information to connect to Zimbra Mailbox.
  6. Zimbra Proxy connects to Zimbra Mailbox and initiates the mail proxy session. The end client behaves as if it is connecting directly to Zimbra Mailbox.

Zimbra Proxy Ports

The following ports are used either by Zimbra Proxy or by Zimbra Mailbox. If you have any other services running on these ports, turn them off.

End clients connect directly to Zimbra Proxy, using the Zimbra Proxy Ports. Zimbra Proxy connects to the Route Lookup Handler or Zimbra Mailbox using the Zimbra Mailbox Ports.

Zimbra Proxy Ports Port
HTTP 80
HTTPS 443
POP3 110
POP3S (Secure POP3) 995
IMAP 143
IMAPS (Secure IMAP) 993
Zimbra Mailbox Ports Port
Route Lookup Handler 7072
HTTP Backend (if Proxy configured) 8080
HTTPS Backend (if Proxy configured) 8443
POP3 Backend (if Proxy configured) 7110
POP3S Backend (if Proxy configured) 7995
IMAP Backend (if Proxy configured) 7143
IMAPS Backend (if Proxy configured) 7993

Zimbra Proxy Command-Line Utilities

The following commands are zmprov commands that are specific to Zimbra Proxy. For more information about using zmprov, refer to the Appendix A: Command-Line Utilities in the ZCS Administrator’s Guide, located on the Zimbra Website.

Syntax

zmprov [cmd]

Description

Long Name Short Name Description
--getAllReverseProxyURLs -garpu Used to list all the upstream mailstore servers (NLEs) that should be used for reverse proxy lookup by the proxy
--getAllReverseProxyBackends -garpb Used to list all the upstream mailstore servers that are reverse-proxied by the proxy
--getAllMtaAuthURLs -gamau Used to publish into saslauthd.conf the servers that should be used for saslauthd.conf MTA auth
--getAllMemcachedServers -gamcs Used to list memcached servers (for Zimbra Proxy use)


Verified Against: ZCS 8.5.x Date Created: 6/2/2014
Article ID: https://wiki.zimbra.com/index.php?title=Zimbra_Proxy_Guide Date Modified: 2014-06-02



Try Zimbra

Try Zimbra Collaboration with a 60-day free trial.
Get it now »

Want to get involved?

You can contribute in the Community, Wiki, Code, or development of Zimlets.
Find out more. »

Looking for a Video?

Visit our YouTube channel to get the latest webinars, technology news, product overviews, and so much more.
Go to the YouTube channel »

Jump to: navigation, search