Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

This link explains how to create static files from dynamic content using Nginx.

My question is this: can I achieve the same if login sessions are involved. ie. when I want to serve content to only registered users and not otherwise. So how to overcome sessions when it comes to caching and finally to use the cache next time for another session?

Detailed scenario:

The goal of my website is to serve content to only registered users.

There are plenty of users logged in, each having different session IDs.

A php page queries the DB and finds "XYZ" that user "A" wants and generates HTML output.

Now if user "B" (with a different session ID) after sometime wants the same "XYZ", how to make Nginx to deliver from cache without making the php page to query the db again.

Has anybody done this before?

Clarification regarding possible question dupes:

nginx caching dynamic content to static My question is caching dynamic content when sessions are involved. The above question is more general (no mention about sessions).

share|improve this question
HTTP is all around resources (URI) and headers. I cannot grasp what you mean under "XYZ" in your question, how you identify cookies, etc. -- it would be helpful if you could define your question in technical terms. – Alexander Azarov Feb 26 '12 at 13:15

I think you'll be better off looking at Varnish for this, nginx has very limited caching functionality.

With nginx you can detect cookie data and use that to force the user a different cache key as shown here, but this probably isn't enough for what you want to do.

share|improve this answer
Second link has broken, content is available at the Internet Archive:… – redburn Aug 3 '14 at 9:05

You can use HttpSsiModule wherever you need dynamic works (Session vs.)

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.