J'essaie de passer d'AWS CloudFront à CloudFlare.
Actuellement, mon site Web est hébergé sur EC2 et mes gros fichiers statiques sont placés dans S3 séparément. CloudFront m'a laissé servir les pages Web et les fichiers statiques avec le même domaine, en effectuant un proxy pour les accès à l'emplacement correspondant (Origin) en fonction des modèles de chemin d'accès. c'est à dire.
http://example.com/files/*
=> S3http://example.com/*
=> EC2Dans CloudFlare, je ne trouvais que les redirections/redirections d'URL, qui renvoyaient une redirection 301/302 au visiteur au lieu de servir directement le contenu. Est-il possible d'éviter la redirection 301/302, mais de "masquer" l'emplacement Origin comme le fait CloudFront?
Je dois éviter la redirection 301/302 car une application cliente personnalisée accédera aux fichiers statiques, mais l'application ne prend pas en charge la redirection http (oui, je sais que c'est idiot).
C’est quelque chose qu’ils ont récemment commencé à offrir en tant que fonctionnalité d’entreprise, voir: https://support.cloudflare.com/hc/en-us/articles/206190798-Using-Resolve-Override-in-Page-Rules
Vous pouvez utiliser des travailleurs cloudflare: https://developers.cloudflare.com/workers/recipes/conditional-routing/
Pour votre cas d'utilisation, vous pouvez utiliser l'exemple fourni, mais changer la logique pour inspecter le chemin de l'URL au lieu d'un en-tête http.