10
votes

Cloudfront-servi des fichiers CSS non rendus

C'est un problème étrange, mais je suppose que j'ai fait quelque chose d'osheadhed quelque part sur la ligne pour finir avec cette situation actuelle.

Lorsque vous essayez de servir des fichiers statiques (images, CSS & JS) de Cloudfront, ils ne semblent pas rendu correctement. Par exemple, une de mes feuilles de style est disponible ici: http://d21vxjmc903qz.cloudfront.net/stylesheets/hf.4fabc9c719f8 .CSS , mais cela ne semble pas être «appliqué» au DOM comme vous l'attendez. (Par exemple, à la recherche d'outils de développement en Chrome ou Firefox dans Firebug, les styles pertinents ne sont pas appliqués à la .

En regardant les en-têtes de réponse, il semble que le type est défini correctement, alors je suis à peu près des idées.

Toute suggestion sur où regarder ensuite?


4 commentaires

Avez-vous un lien vers le site en l'utilisant?


Je suppose que vous y incluez-le dans votre HTML dans la bonne façon .


À peu près sûr que je comprends de la bonne façon, j'utilise Django et le seul changement est l'URL que je parle de. (E.G., servi de ma machine locale, il n'y a aucun problème, servi hors de cloudfront, il agit étrangement.)


Je n'ai pas de lien avec le site en l'utilisant malheureusement depuis que c'était juste sur ma machine de développement. Je vais mettre en place une machine de test avec elle dans les prochains jours. Merci!


5 Réponses :


10
votes

Le problème est probablement le mauvais contenu de contenu dans le godet S3. J'ai eu le même problème et la modification du type de contenu fixe le problème. J'ai changé le ci-dessous de Texte / uni sur Text / CSS , puis les styles rendus correctement.

Entrez la description de l'image ici


2 commentaires

J'avais l'expérience du même problème et cela m'a réparé pour moi.


Merci Timdog! Résolu un problème de 2h + pour moi. Tu es l'homme!



0
votes

Il suffit d'avoir un problème avec un fichier CSS servi à partir de Cloudfront que nous avons pensé n'était pas servi correctement. Le problème a fini par être une citation unique intessible à l'intérieur d'une valeur d'URL de Backgroud. xxx pré>

une fois que nous avons remplacé ' code> avec % 27 code>, le Les problèmes de CSS ont été corrigés. P>

background: url(//xxxxx.cloudfront.net/img/flags48/Cote%20d%27Ivoire.png) no-repeat}


0 commentaires

3
votes

Pour moi, le lien ne pouvait pas être http mais devait être https: // .. Cela a fonctionné pour moi lorsque j'ai modifié ce xxx

dans le fichier HTML à ceci:

<


0 commentaires

0
votes

J'utilise Hugo pour rendre mon site Web. J'ai constaté que je dois spécifier le protocole HTTPS dans la valeur de baseurl , pas seulement le chemin.

Par exemple, dans le fichier config.toml : xxx

ou sur la ligne de commande, xxx

un bout du chapeau et +1 à @pascati, qui m'a conduit à ce Solution Hugo.


0 commentaires

0
votes

J'ai rencontré ce problème lorsque vous utilisez S3CMD pour synchroniser mes fichiers locaux avec S3. Le fichier S3CMD fait une hypothèse sur le type MIME du fichier .CSS et renvoie avec Type de contenu: Texte / LIMAIN .

J'ai corrigé cela à l'aide de l'indicateur de commande suivant avec S3CMD :

- no-mime-magie

Il existe différentes autres options associées - voir https://s3tools.org/usage pour plus d'informations.

Vous devrez peut-être invalider votre cache de bord Cloudfront (et supprimer le fichier de S3 puis synchroniser) avant de pouvoir le voir prendre effet.


0 commentaires