2010-07-16 3 views
7

Nous hébergeons nos images sur Amazon S3 et les diffusons via Amazon Cloudfront. Nous aimerions réduire nos dépenses en bande passante. Nous croyons que nous avons beaucoup de vol de bande passante, et que nous voulons commencer à utiliser des URL signées pour éviter cela. Cependant, nous devons équilibrer cela avec le fait que chaque fois que nous envoyons une nouvelle URL signée, elle invalide les caches du navigateur pour l'image. Notre plan actuel consiste à générer une URL signée valide deux mois, à la mettre en cache localement et à la diffuser pendant un mois avant de générer une nouvelle URL signée. Cela permettra au navigateur de mettre en cache les images plus longtemps. Cependant, cela signifie également que n'importe qui peut ensuite utiliser la bande passante pour une image pendant deux mois.Équilibrage de la mise en cache des images et de l'heure d'expiration des liens pour éviter le vol de bande passante

Existe-t-il un moyen pour que le lien expire plus tôt, mais le navigateur continue-t-il à mettre en cache cette image? Je sais que l'etag et If-Modified-Since pour l'image ne changent pas lorsque l'URL est résignée pour un nouvel horodatage, mais le navigateur ne sait plus à envoyer ces valeurs dans l'en-tête, car en ce qui le concerne, c'est une nouvelle URL. Y a-t-il un moyen de contourner ce problème?

+0

Avez-vous déjà résolu ce problème? Si oui, quel a été le résultat? Thx –

+0

Nous n'avons pas fini par nous inquiéter du vol de bande passante. – Karptonite

Répondre

2

Avez-vous mesuré la quantité de bande passante volée? c'est-à-dire, vérifiez le nombre de demandes que vous obtenez pour vos images qui n'ont pas de champ de référent défini sur votre propre site.

Pour une mise en cache optimale, nous recommandons la mise en cache pendant 10 ans, donc 2 mois semble un peu court.

+0

Nous avions essayé la journalisation, mais nous n'avions aucun moyen de parcourir les fichiers journaux pour quantifier la quantité de bande passante volée. Nous essayons à nouveau, avec s3stat.com. En regardant un fichier journal au hasard montre généralement quelques sangsues - il y a quelques sites chinois qui hotlink nos images. mais il est difficile de dire combien cela nous coûte, et combien cela nous coûterait en bande passante des rechargements si nous devions réduire les temps de cache. – Karptonite

0

La quantité de cache requise dépend beaucoup du type d'accès des visiteurs de votre site Web. Pour la plupart des sites, je dirais que donner un mois de mise en cache devrait être plus que suffisant pour obtenir une mise en cache efficace. Avant de mettre beaucoup d'efforts dans cela, vous devriez mettre une valeur concrète au coût réel de la sangsue et mettre cela contre tous les coûts de la résolution du problème.

BTW: le tatouage de vos images est dans certains cas également très efficace.

Questions connexes