6

I see that CloudFront supports dynamic content.

Could anyone guide how I could go about doing this in Rails? For instance, I have, api.test.com/popular.json which I would like to be served from CloudFront preferably, but probably update itself every few hours.

For static assets, I have been able to do it using Rails asset_host setting. But I have not been able to find enough guides on dynamic content. Any pointers would be useful.

4

1 に答える 1

1

Rails アプリを CloudFront と統合する必要はありません。代わりに、ウェブサイトをキャッシュするように CloudFront を設定できます。

  1. AWS コンソールに移動し、新しい CloudFront ディストリビューションを追加します
    • ウェブ配信方法
    • 元のドメイン名:myexistingdomain.com

すべてのデフォルトをそのままにしておくことができます。最小/デフォルト/最大 TTL オプションを設定して、特定のキャッシュ時間を強制することができ、サーバーの設定によっては必要になる場合があります。

  1. で、 Cloudfront ディストリビューションのドメイン名を含めるようにヘッダーをmyexistingdomain.com設定する必要があります。Access-Control-Allow-Origin

おそらく既に経験されているように、CloudFront のほとんどの更新、またはオリジンの追加には通常 20 分ほどかかるので、しばらくお待ちください。

また、Rails アプリでクエリ パラメータ、Cookie、または特別なヘッダーを使用する必要がある場合は、CloudFront ディストリビューションのキャッシュ設定にそれらを含める必要があります。これにより、配布の効率が低下することに注意してください。

于 2017-01-09T17:02:31.483 に答える