J'ai un site Web que je voudrais que la version préfixée www rediriger vers le domaine nu.Meilleure façon de gérer le site Web Cloudfront/S3 avec www redirigé vers le domaine nu
Après avoir cherché différentes solutions, j'ai trouvé ce sujet fermé ici avec cette réponse qui semble fonctionner à merveille: https://stackoverflow.com/a/42869783/8406990
Cependant, j'ai un problème où, si je mets à jour l'objet racine « index/html » dans mon S3, il peut prendre un jour avant que Cloudfront ne serve la nouvelle version. J'ai même manuellement invalidé le fichier, et tandis que cela met à jour le fichier "index.html" correctement, Cloudfront sert toujours l'ancien.
Pour mieux expliquer, si je tape: http://mywebsite.com/index.html, il servira la nouvelle version. Mais si je tape http://mywebsite.com/, il sert l'ancien index.html. Je suis allé de l'avant et ajouté "index.html" dans la propriété d'objet racine par défaut de ma distribution Cloudfront (pour le domaine nu), et il a immédiatement fonctionné comme je le voulais. Taper juste dans le domaine (sans ajouter /index.html) a retourné la nouvelle version. Cependant, ceci est en contraste avec la réponse dans le thread que je viens de lier, qui indique explicitement NE PAS définir un "objet racine par défaut" lorsque vous utilisez deux distributions pour effectuer la redirection. J'espérais acquérir une meilleure compréhension de cet "objet racine par défaut", et s'il y avait une meilleure façon de s'assurer que l'objet racine met à jour la version en cache correctement?
Merci.
Merci pour la réponse. J'ai effectivement fait une faute de frappe. Dans mes paramètres de Cloudfront, j'ai mis "index.html" sans la barre oblique. Je me demande encore pourquoi mon invalidation n'a pas fonctionné. Malgré une invalidation sur index.html, je n'ai pas pu l'obtenir pour charger le nouveau fichier index.html même après 12 heures. Sauf si j'ai tapé explicitement dans index.html dans l'url. Assez bizarrement, mettre l'objet racine par défaut a résolu mon problème. – oneleaf
@oneleaf Oh, je vois le problème, alors ... vous avez besoin d'invalider '/', pas '/ index.html' (la console ajoute silencieusement une barre oblique lors de l'envoi de l'invalidation, si elle n'est pas incluse, de sorte que serait identique à invalider 'index.html'). L'invalidation s'oppose à ce que le navigateur a demandé, et non à ce qui a pu être réellement servi, dans les cas où ils diffèrent. –
merci beaucoup! Ça a marché. Je viens de supprimer le paramètre Default Root Object sur ma distribution. A fait une mise à jour. Créé une invalidation à /, et il reflète instantanément le changement. Tellement content d'avoir réglé ce mystère! – oneleaf