0

asset_sync gem を使用して、ローカル アセットをプリコンパイルし、Amazon の s3 に同期しました。これには、bootstrap.min.css とさまざまなグリフィコン Web フォントが含まれます。

アセットがローカルでホストされている場合、グリフィコンは正常に表示されますが、s3 からホストされている場合、chrome と firefox はそれらを認識しません (サファリはそれらを正常に認識します)。

Chrome の開発者ツールで確認します。グリフィコンが 200 ステータスでロードされており、プリコンパイルされた all.css が s3 内のフォントの場所を正しく指していることがわかります。

関連するgemのいくつかを更新することを提案するいくつかの投稿に出くわしましたが、(多少)同様の問題を抱えている他のgemよりも新しいgemがあります。これらの gem は次のとおりです。
sass-rails (5.0.4)
sass (3.4.19)
bootstrap-sass (3.3.5.1)
sprockets (2.12.4)

4

1 に答える 1

1

AWS 独自のドキュメントによると、S3 で Cross-Origin Resource Sharing (CORS) を有効にする必要があります。これを行うには、AWS のアカウントにログインし、有効にするバケットを右クリックして [アクセス許可] を選択し、指定された cors.xml ファイルを編集して CORS を許可します。

ソース:
http://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html

于 2015-10-22T22:09:47.217 に答える