2010-09-23 9 views
0

Mon site Web est un portail musical en ligne avec système de lecture en ligne.Forcer le navigateur de l'utilisateur à enregistrer les fichiers dans le cache

Lorsque l'utilisateur joue un morceau, il est servi par le serveur nginx sur le port 8080 sur mon serveur. Le problème est lorsque la chanson a fini de jouer, le joueur répète la chanson. Mais à chaque fois qu'il se relance, il fait un autre appel au serveur et recommence à télécharger le fichier à jouer.

Auparavant, j'avais apache pour servir ces fichiers. À ce moment-là, l'utilisateur ne demandait qu'une seule fois le fichier et les relectures étaient jouées depuis son cache. Comment puis-je y parvenir en utilisant nginx

[Je n'utilise aucun script comme php ou autre pour servir le fichier. C'est juste un lien direct. Comme http://www.myserver.com:8080/music/song1.mp3]

Répondre

0

Il serait utile de voir une partie de votre ancienne configuration Apache et la configuration actuelle de Nginx pour voir comment ils sont configurés pour mettre les en-têtes d'expiration sur les fichiers sortants. Ce n'est pas un moyen infaillible d'imposer la mise en cache, comme vous le savez peut-être, mais il semble que «assez bon» fonctionnera pour vous. Essayez un bloc de configuration Nginx au sein de votre server{} bloc qui se lit comme suit:

location ~* \.(mp3)$ { 
    expires max; 
} 

Cela devrait fixer une date d'expiration de grande avenir sur vos fichiers et encourager le navigateur à les mettre en cache plus.

+0

Merci à tous. Cela a fonctionné pour moi. :) – Hardeep