2010-08-17 6 views
0

Je le système suivant configuré:configuration Apache mod_cache avec Tomcat et directives Max-âge

Tomcat -> Apache

Maintenant, j'ai quelques URL sur laquelle j'ai Max-âge, LastModified et Etags ensemble . Mon attente est quand Client1 fait un appel au serveur, la page devrait être servie de tomcat, mais devrait être mise en cache dans le module mod_cache d'Apache. Ainsi, lorsque le client suivant passe un appel, la page est servie depuis Apache et elle n'a pas besoin de toucher le serveur Tomcat, si la page est encore fraîche. Si la page n'est pas fraîche, Apache devrait faire un Get conditionnel pour valider le contenu. Est-ce que quelqu'un peut me dire s'il y a une erreur fondamentale dans cette pensée? Cela ne marche pas de cette façon. Dans mon cas, quand client2 fait un appel, il va directement au serveur Tomcat (pas même un Get Conditionnel).

Est-ce que ma pensée est incorrecte ou ma configuration Apache incorrecte ?! Merci

Répondre

0

La section « Que peut-on en cache » of the docs a un bon résumé des facteurs - tels que les codes de réponse, GET demande, la présence d'en-tête d'autorisation et ainsi de suite - qui permettent la mise en cache.

En outre, définissez l'Apache LogLevel à debug dans httpd.conf, et vous obtiendrez une vision claire de savoir si oui ou non chaque demande se est mise en mémoire cache. Vérifiez les journaux d'erreurs.

Vous devriez être en mesure de suivre ce qui se passe sur la base de ces deux.