Existe-t-il un moyen de rediriger l'utilisateur vers la version mobile d'une application Web, par exemple m.foobar.com
en fonction de l'en-tête User Agent
à l'aide de CloudFront?Redirection par périphérique sur CloudFront desservant l'origine S3
J'ai lu sur la mise en cache de l'en-tête en utilisant le type de périphérique de l'utilisateur en utilisant l'en-tête CloudFront-Is-Mobile-Viewer
. Mais, je ne peux que l'ajouter à la liste blanche si j'utilise une origine personnalisée pour servir mes ressources (ELB ou une instance EC2). Dans un tel scénario, je pourrais éditer ma configuration de serveur pour gérer la redirection.
Cependant, j'utilise S3 pour servir mon application maintenant et je préférerais une solution dans l'écosystème CloudFront/S3.
Edit: Pour les distributions S3, je DONOT avoir accès aux CloudFront-Is-Mobile-Viewer
et autres en-têtes des FC.
Toute aide, les pointeurs seraient grandement appréciés!
Renseignements généraux: http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/header-caching.html https://aws.amazon.com/blogs/aws/enhanced-cloudfront-customization/
La solution est un ajustement parfait si je dois utiliser une origine ELB pour transférer mon contenu. Mais apparemment, les en-têtes Whitelist 'CloudFront-Is-Mobile-Viewer' ne sont pas applicables pour la distribution S3. Pour les distributions S3, seuls 3 en-têtes sont «en liste blanche»: «Access-Control-Request-Method», «Access-Control-Request-Headers» et «Origin». – Sanjay
Et si vous utilisiez le point de terminaison de site Web statique comme '[bucket] .s3-website- [region] .amazonaws.com'. cette valeur peut également être trouvée sur la page de configuration ** Static Website Hosting ** de votre s3 seau. –
Mon origine est le nom de domaine complet du compartiment S3 dont le format est un peu comme ceci 'xxxx.s3.amazonaws.com'. Tous les documents de redirection de sites Web sur les documents AWS (https://docs.aws.amazon.com/AmazonS3/latest/dev/how-to-page-redirect.html) traitent la redirection statique basée sur des clés, des erreurs, etc. ; mais aucun basé sur des propriétés dynamiques comme l'emplacement de l'utilisateur/périphérique. – Sanjay