Mastering Nginx

(Ron) #1

Using the Mail Module


[ 58 ]

Combining with memcached


Depending on the frequency of clients accessing the 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.


Authentication Request from NGINX

Is user/pass
in cache?

Retrieve value from cache
and return to NGINX

Store key/value
in memcached

No

Ye s

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.


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.
Free download pdf