AWS CloudFrontからCloudFlareに切り替えようとしています。
現在、私のWebサイトはEC2でホストされており、大きな静的ファイルはS3に個別に配置されています。 CloudFrontでは、同じドメインでWebページと静的ファイルを提供し、パスパターンに基づいて対応する場所(Origin)へのアクセスをプロキシします。つまり.
http://example.com/files/*
=> S3http://example.com/*
=> EC2CloudFlareでは、URL転送/リダイレクトのみが見つかりました。これは、コンテンツを直接提供する代わりに、301/302リダイレクトを訪問者に返します。 301/302リダイレクトを回避することは可能ですが、CloudFrontのようにOriginの場所を「マスク」しますか?
カスタムクライアントアプリケーションが静的ファイルにアクセスするため、301/302リダイレクトを回避する必要がありますが、アプリケーションはhttpリダイレクトをサポートしていません(はい、それはばかげているとわかります)。
これは、最近エンタープライズ機能として提供を開始したものです。 https://support.cloudflare.com/hc/en-us/articles/206190798-Using-Resolve-Override-in-Page-Rules
Cloudflareワーカーを使用できます: https://developers.cloudflare.com/workers/recipes/conditional-routing/
ユースケースでは、提供されている例を使用できますが、httpヘッダーの代わりにURLパスを検査するようにロジックを変更します。