Combining with memcached
Depending on the frequency of clients accessing the e-mail services on your proxy and how many resources are available to the authentication service, you may want to introduce a caching layer into the setup. To this end, we will integrate memcached
as an in-memory store for authentication information.
NGINX can look up a key in memcached
, but only in the context of a location in the http
module. Therefore, we will have to implement our own caching layer outside of NGINX.
As the flowchart shows, we will first check whether or not this username/password combination is already in the cache. If not, we will query our authentication store for the information and place the key/value pair into the cache. If it is, we can retrieve this information directly from the cache.
Note
Zimbra has created a memcache
module for NGINX that takes care of this directly within the context of NGINX. To date, though, this code has not been integrated into the official NGINX sources.
The following...