問題タブ [fastly]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
945 参照

node.js - Hapijs で静的アセットを適切に提供する方法

hapijs を実行し、.NET から静的ファイルを提供している私の heroku インスタンスを Fastly に指摘させようとしています/assets/。次のようなルート設定があります。

各リクエストで返されるヘッダーは次のとおりです。

cache-controlこのエンドポイントからの応答に Cookie を設定しないようにするにはどうすればよいですか。また、ヘッダーにmust-revalidateとが設定されるのはなぜですかprivate。公開するだけじゃないの?

0 投票する
1 に答える
680 参照

bash - curl または wget を使用した API 呼び出しを介して Fastly CDN から URL をパージします

私は bash スクリプトを使用して、Fastly を CDN として使用する静的 Web ページをデプロイします。デプロイされたら、bash スクリプト内の API を介して/example.htmlパージしたいと思います。すぐに使える Ruby gem があることは知っていますが、bash スクリプトを使用して、またはbash スクリプト内/example.htmlで実行したいと考えています。curlwget

またはを使用して Fastly API 経由で特定の URL をパージするにはどうすればよいですcurlwget?

0 投票する
1 に答える
166 参照

heroku - fastly CDN でキャッシュされたコンテンツが頻繁に期限切れになる

Heroku アプリケーションの前で Fastly を CDN として使用していますが、キャッシュされるはずの多くのリクエストが処理されています。

An example of this behavior is two requests to the URL: https://nuu-acceptance-herokuapp-com.global.ssl.fastly.net/attachments/f092ff0398b3bace19fae21b17a22320c3da5428/store/fit/240/160/28515a2fa2e47b59f13b2044ea5b9a7c8c9587ceca7d7dfadb28f08730f7/file.jpg . 以下は、15 分間隔で発生した要求からの 2 つの応答です。

このコンテンツは 1 年間キャッシュされると予想していますが、どちらもキャッシュ ミスです。また、同じ Fastly クラスターがリクエストを処理したようです。誰かが私が間違っているかもしれないことを指摘できますか? Fastly によって提供される多くのファイルでこの動作が見られます - fastly は断続的にファイルを提供しているようですが、予想よりもはるかに頻繁にキャッシュ ミスが発生します。

誰かがこれで私に与えることができる助けをいただければ幸いです - ありがとう!

0 投票する
1 に答える
70 参照

ruby - 正規表現一致グループのルックバック

同じデータを抽出しようとしています (ただし、文字列から異なる「チャンク」で数回抽出します。ユースケースは、Fluentd で Fastly からの Syslog メッセージを解析することです。

私はこのログ行を持っています:

2015-08-27T12:36:58Z cache-foo1234 Name[123456]: 4.151.22.16 "-" "-" POST /api/v1/foo/61ea23fb-53fb-4364-a892-349fdf5f6dca/event?release_type=store&version=2%2E0%2E1&os=ios&device_os_version=8%2E4&device_type=iphone 304 MISS BC942858-64FA-4101-BAE1-19272490697F iPhone 5S

これまでのところ、この正規表現(Ruby Regex):

^(?<time>[^ ]*) (?<fastly_server>[^ ]*) (?<log_name>[^ ]*) (?<host>[^ ]*) (?<na>[^ ]*) (?<na2>[^ ]*) (?<http_method>[^ ]*) (?<http_request>[^ ]*) (?<http_status>[^ ]*) (?<cache_status>[^ ]*) (?<uuid>[^ ]*) *(?<device_model>.*)$

そしてこれは私に与えます:

  • time2015-08-27T12:36:58Z
  • fastly_server キャッシュ foo1234
  • log_name 名前[123456]:
  • host 4.151.22.16
  • http_method役職
  • http_request /api/v1/foo/61ea23fb-53fb-4364-a892-349fdf5f6dca/event?release_type=store&version=2%2E0%2E1&os=ios&device_os_version=8%2E4&device_type=iphone
  • http_status304
  • cache_status お嬢
  • uuid BC942858-64FA-4101-BAE1-19272490697F
  • device_model iPhone 5S

それは完璧ですが、どうすれば元に戻って抽出できますか。61ea23fb-53fb-4364-a892-349fdf5f6dca、および同じ正規表現を持つ同じ文字列からeventの値?device_os_version

0 投票する
2 に答える
266 参照

node.js - 新しいコードが heroku にプッシュされると、自動的にすばやく削除されますか?

画像などの静的アセットの束に Fastly CDN を使用しており、JavaScript や CSS にも使用したいのですが、新しいコードをプッシュすると更新されないのではないかと心配しています。これによりエラーが発生します。

このようなものを自動的にパージするシステムをセットアップするだけでよいことはわかっていますが、そうする必要はありません。1 つまたは 2 つのテストに基づいて、heroku は静的ファイルの変更を検出し、それらをすばやくパージするという感覚を持っていますが、これに頼ることができると言っている場所はどこにもありません。誰かが確かに知っていますか?

0 投票する
2 に答える
1474 参照

varnish - Varnish Hashtwo/Xkey と Fastly の「代理キー」は同じですか?

現在、独自の Varnish サーバーを管理するか、Fastly のようなホスティング サービスを使用するかを決定しています。ここで最も重要な決定要因の 1 つは、効率的なタグベースのキャッシュの無効化です。これは、Varnish を API の前に配置する予定であり、多くの関連ページを無効にするパージ リクエストを頻繁に発行する必要があるためです。

Fastly はSurrogate Keysを提供しており、Varnishは Hashtwo、Hashninja、XKey など、さまざまな名前で呼ばれる個別のモジュールを提供しているようです。これらの機能は同じように見えます。それらは実際には同じですか、それとも 2 つの機能についてのブログ投稿からは明らかではない重要な技術的または効率的な違いがありますか?

0 投票する
1 に答える
892 参照

varnish - Fastly と自分でホストした Varnish との比較

Fastly を使用する利点と、独自のセルフホスト Varnish を使用する利点は何ですか? 通常の Varnish にはない、Fastly が提供する追加の利点や機能はありますか? それとも、CloudAMQP が RabbitMQ をホストおよび管理するのと同じ方法で Fastly が Varnish を管理しているだけですか?

0 投票する
0 に答える
121 参照

ruby-on-rails - Fastly キャッシュ無効化 fastly-rails とフレンドリー ID

Fastly と私が取り組んでいる Rails アプリでのキャッシュの無効化に苦労しています。fastly-rails gem を使用しており、CNAME が正しく設定されていることを確認しました。問題は本質的に次のとおりです。

キャッシュにページの記録がない場合、ページは Fastly からキャッシュされ、正しく提供されます。リソースの代理キーは、アクション前にfastly-railsを使用して設定されます...

そこから、ページはキャッシュされ、次の訪問は Fastly サーバーから提供されます。ここで、active-admin コントローラー アクションで、更新が行われた後にキャッシュ内のレコードを無効にする呼び出しを行います。

これは最終的に Fastly 側でレコードを無効にすることになりますが、URL /schools/:resource_slug にアクセスすると、まだ Fastly から古いコンテンツが提供されますが、/schools/:id にアクセスすると、アプリケーションから正しく提供され、 2 回目のアクセスは Fastly サーバーから提供されます。

何かご意見は?誰にも同様の問題がありますか?

0 投票する
1 に答える
60 参照

amazon-web-services - 完全なパージを保証するために、複数のカスケード CDN をずらしてパージするにはどうすればよいですか?

Amazon S3 バケット、cloudinary キャッシュ、fastly キャッシュを使用しています。これらを組み合わせることで、必要な形状、サイズ、またはその他の変換の画像を非常に高速に提供します。ただし、パージ要求は異なる速度で伝播されます。

カスケード配置は次のとおりです。

  • 画像がリクエストされると、Fastly はその画像をキャッシュから提供しようとします。
  • 画像がない場合、Fastly は Cloudinary にその画像を要求します。
  • Cloudinary は、そのキャッシュから画像サーバーを提供しようとします。
  • 画像が存在しない場合、Cloudinary は、要求された画像に変換パラメーターが関連付けられているかどうかを確認します。
  • 変換パラメータを見つけた後、Cloudinary はキャッシュ内の変換されていないバージョンの画像を見つけて、変換を適用しようとします。
  • 変換されていない画像がない場合、Cloudinary は S3 バケットからそれをリクエストします。
  • その後、Cloudinary は変換を適用し、元のバージョンと変換されたバージョンの両方をキャッシュします。
  • Cloudinary は、変換された画像を Fastly に提供します。
  • 変換された画像をすばやくキャッシュして提供します。

画像とその画像のすべての変換されたバージョン (派生物) をすべてのサービスから完全に削除したいと考えています。Cloudinary が DELETE 要求をすべてのサーバーに伝達するのに 1 時間かかります。

最初に S3 で削除し、次に Cloudinary で削除し、最後にすばやくパージするのが最善であることがわかりました。ただし、パージ呼び出しを 1 時間遅らせるにはどうすればよいでしょうか? この状況で、プログラム的に言えば、ベストプラクティスは何ですか?