2016-11-04 4 views
0

Nous rencontrons des problèmes pour essayer de server les fichiers .js et .html5 via une application Azure en exécutant imageresizer qui, à son tour, pointe vers un magasin blob.Servir .js et html5 et autres types de fichiers sur Azure avec Imageresizer

Cela fonctionne: http://devimageresizecdnbypass.reiwa.net//bannerads/10688-0/test-image.jpg

Cela ne signifie pas: http://devimageresizecdnbypass.reiwa.net/bannerads/10688-0/js_ex3.js

liens directs vers la boutique blob contournant ainsi les travaux de ImageResizer.

J'ai une réécriture dans le fichier web.config pour ajouter un 'dossier' d'image.

<rule name="bannerads"> 
    <match url="^bannerads/([_0-9a-z-.]+)/([_ ,0-9a-z-.]+)" /> 
    <action type="Rewrite" url="/imagefiles/bannerads/{R:1}/{ToLower:{R:2}}" /> 
</rule> 

et entre autres entrées, les suivantes -

<staticContent> 
    <remove fileExtension=".pdf" /> 
    <mimeMap fileExtension=".pdf" mimeType="application/pdf" /> 
    <remove fileExtension=".js" /> 
    <mimeMap fileExtension=".js" mimeType="application/x-javascript" />  
</staticContent> 

il Diagnostiquer avec Microsoft, ils croient ImageResizer est pré-attente pas l'URL blob à la demande renvoyé à Azure lorsque des fichiers non jpg sont demandés.

Nous exécutons actuellement imageresizer sur une boîte Windows 2008r2/iis sur site et ces fichiers sont très bien. ImageResizer n'est pas conçu comme un proxy de fichier statique.

Répondre

0

Bien qu'il existe des hacks pour faire en sorte qu'il ne fasse qu'un, il ne sera pas aussi performant, et manque de nombreuses fonctionnalités que vous pourriez attendre en tant que proxy de fichier statique.

Si possible, nous vous suggérons de vous connecter directement au magasin BLOB ou à un point de terminaison CDN pour les fichiers statiques.

Si vous souhaitez tenter d'avoir ImageResizer proxy ces fichiers, vous devrez configurer le fournisseur de stockage pour permettre cela.

https://imageresizing.net/docs/v4/plugins/blobprovider

Les paramètres concernés sont les suivants: vpp="true", untrustedData="false", cacheUnmodifiedFiles="true", requireImageExtension="false".

Vous avez des préoccupations supplémentaires autour des mises à jour - cacheMetadata « s comportement de glissement est bonne pour les images, mais pas bon pour les mises à jour immédiates javascript. Vous verrez également une augmentation de la croissance du cache disque. AzureReader2, contrairement à d'autres fournisseurs, offre également un paramètre redirectToBlobIfUnmodified. Si la valeur est true et si la chaîne de requête réécrite interne n'a aucune directive de traitement, une redirection est lancée. L'inspection de l'état de e.Querystring dans un gestionnaire d'événements PostRewrite permet de déterminer si une configuration ou un composant provoque l'échec des conditions préalables.

Malheureusement, sans la page de diagnostic, la plus grande partie est conjecturale. La version, la configuration et le code personnalisé importent beaucoup dans cette situation. Créer un projet vide uniquement pour tester le comportement du proxy de fichier statique peut vous aider à isoler le problème, mais si possible, veuillez mettre à jour cette question avec plus de détails et vos découvertes.

+0

Merci Nathanael, comme vous l'avez suggéré, nous allons modifier notre site pour pointer directement sur le magasin blob. –