J'avais une distribution CloudFront configurée avec S3 comme origine.
J'ai activé "Compress Objects Automatically" selon le guide d'Amazon. J'ai attendu que le statut de la distribution affiche "en ligne", puis invalidé tous les fichiers.
Mes en-têtes de réponse sont:
Age:5
Connection:keep-alive
Content-Length:232359
Content-Type:application/javascript
Date:Sat, 03 Mar 2018 15:39:10 GMT
Last-Modified:Sat, 03 Mar 2018 15:37:32 GMT
Server:AmazonS3
Vary:Accept-Encoding
Via:1.1 4dbdc57755819d1a0ec1defc2630d677.cloudfront.net (CloudFront)
X-Amz-Cf-Id:6eHPWzOXv2J6kIvzuieoI9chtPBBvEvJFH9fb3yMwHvvcMZ4xsigCA==
X-Cache:Hit from cloudfront
En-têtes de la requête:
Accept:*/*
Accept-Encoding:gzip, deflate, br
Accept-Language:en-GB,en;q=0.9,en-US;q=0.8,pl;q=0.7,zh;q=0.6
Cache-Control:no-cache
Connection:keep-alive
Host:d2h5tcpn9r8alm.cloudfront.net
Pragma:no-cache
Referer:https://noru.co.uk/
User-Agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.186 Safari/537.36
Il y a une "Content-length" et un "Content-Type" supporté, qu'est-ce qui me manque? Je deviens fou ici...
Depuis lors, j'ai créé un nouveau bucket S3 et une nouvelle distribution en suivant les étapes décrites ci-dessus, mais en choisissant un emplacement de bucket différent (au cas où cela affecterait de quelque manière que ce soit), Voici les paramètres généraux de la distribution:
Méthode de livraison Web
Enregistrement des cookies Désactivé
Statut de la distribution Déployé
Commentaire -
Classe de prix Utiliser toutes les emplacements Edge (Meilleures performances)
AWS WAF Web ACL -
État Activé
Noms de domaine alternatifs (CNAMEs) -
Certificat SSL Certificat CloudFront par défaut (*.cloudfront.net)
Nom de domaine d189ud9v76clu1.cloudfront.net
Prise en charge client SSL personnalisée -
Politique de sécurité TLSv1
Versions HTTP supportées HTTP/2, HTTP/1.1, HTTP/1.0
IPv6 Activé
Objet racine par défaut -
Dernière modification 2018-03-03 15:46 UTC
Bucket de journal
Et comportements: comportements de la distribution
Je ne peux toujours pas faire fonctionner gzip, voici le nouveau fichier: http://d189ud9v76clu1.cloudfront.net/app.min.js
0 votes
Le client envoie-t-il "Accept-Encoding: gzip" dans la requête à CloudFront? Appuyez sur F12 dans votre navigateur et vérifiez les en-têtes de la requête.
0 votes
Oui, j'ai mis à jour la question avec les en-têtes de requête
0 votes
J'ai été en train de bidouiller avec ça depuis un moment, donc j'ai fait les deux, je invalide toujours avant de tester comme vous pouvez le voir par l'âge dans l'en-tête de réponse.
0 votes
Quel cache ? Le cache du navigateur est effacé tandis que les outils de développement sont activés (je l'ai coché). Le cache CloudFront également non, car avant que je poste ceci j'ai eu un raté de CloudFront avec le même résultat (je travaille sur cela depuis des jours maintenant)
0 votes
@Lukigi Je vois que le fichier est maintenant compressé en Gzip. Savez-vous ce qui a permis de le faire fonctionner? Je rencontre actuellement le même problème.
0 votes
@JacobStamm ma mémoire est floue, mais je me souviens avoir payé pour obtenir de l'aide d'Amazon pour résoudre ce problème, je crois que c'était quelque chose de leur côté, ce qui est ennuyeux car j'ai dû payer pour qu'ils le réparent. Je ne trouve pas d'e-mails à ce sujet, je vais essayer de jeter un autre coup d'œil quand j'aurai plus de temps.
0 votes
@Lukigi après une analyse plus approfondie, il semblerait que le fichier que j'étais en train de tester était très petit, et CloudFront a déterminé qu'il était inefficace de le compresser. Les fichiers plus volumineux tels que le HTML et le JS dans la même distribution sont compressés avec succès. Je crois que c'est un comportement optimal.