Bonjour à tous,

Je viens vers vous aujourd'hui car j'ai un problème concernant la mise en cache de mes ressources web.

Petit récap :

J'ai une appli web qui tourne sur un serveur JBoss 7.1AS. Toutes les ressources statiques (images,scripts,etc..) sont mises cache pour une question de performances.

On a donc un mécanisme dans notre Framwork qui permet la modification des headers pour la gestion du cache. Et en vérité ça marche plutôt bien.. SAUF en mode sécurisé !

Dès que j'utilise l'appli en HTTPS, tous mes headers sont écrasés par je ne sais qui, et je me retrouve avec des paramètres qui sont faux.

Pire que ça, ce problème n'apparait que sur le platforme de prod du client car lorsque je met mon serveur perso (avec un certificat auto-signé) en HTTPS, je n'ai pas le problème.

Ex :

Sur mon serveur en HTTPS je regarde une requête sur une image quelconque.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
Cache-Control	public, max-age=31363200
Content-Length	698
Content-Type	image/png
Date	Wed, 15 Oct 2014 11:57:45 GMT
Last-Modified	Wed, 19 Feb 2014 22:22:54 GMT
Server	Apache-Coyote/1.1
X-Powered-By	JSF/2.0
Et sur la platforme de prod sur la même requête.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
Cache-Control	public, max-age=31363200
Content-Length	698
Content-Type	image/png
Date	Wed, 15 Oct 2014 11:51:54 GMT
Expires	Thu, 01 Jan 1970 01:00:00 CET
Last-Modified	Wed, 19 Feb 2014 22:22:54 GMT
Pragma	No-cache
Server	Apache-Coyote/1.1
X-Powered-By	JSF/2.0
On voit clairement que la date d'expiration est mauvaise et que l'on a rajouté un Pragma No-cache qui empèche la mise en cache sur le browser.

Du-coup j'avoue être un peu perdu.. Je ne sais pas trop qui modifie mes headers (même si je soupçonne fortement JBoss), et surtout je ne trouve rien de très pertinent à ce sujet sur internet.

Donc si quelqu'un à déjà eu ce genre de problème je suis preneur de tout début de piste !

Merci d'avance.

Techno utilisés : JSF 2 + Oracle ADF