3

ラックスペース CDN 上のすべての CSS にフォント ファイルが埋め込まれているため、Chrome のライブ サイトで次のエラーが発生します。

オリジン ' https://aaa-aaa.ssl.cf3.rackcdn.com 'のフォントは、クロス オリジン リソース共有ポリシーによって読み込みがブロックされました: 要求されたリソースに 'Access-Control-Allow-Origin' ヘッダーが存在しません. したがって、オリジン ' https://www.mysite.co.uk ' へのアクセスは許可されていません。

CDN からこれらのファイルを取得するときに、応答に Access-Control-Allow-Origin ヘッダーを追加するにはどうすればよいですか?

4

1 に答える 1

3

最後に、ドキュメントと Rackspace クルーの助けからこれを解決しました。

重要なのは、CDN ファイルのみを含む CDN 対応コンテナーの場合、コンテナーのメタヘッダーを調整しても意味がありません。これらは、CDN にないファイルによってのみ継承されます。

フォント ファイル自体の応答ヘッダーを調整する必要がありました。残念ながら、これは現在 API を介してのみサポートされており、Windows 7 のコマンド ラインから curl を使用しました。


認証中

ラックスペースのドキュメント

最初のステップは認証です。

curl -d "{\"auth\":{\"RAX-KSKEY:apiKeyCredentials\":{\"username\":\"my_username\",\"apiKey\":\"my_api_key\"}}}" -H "Content-Type: application/json" "https://identity.api.rackspacecloud.com/v2.0/tokens"

次に、応答から のと に関連するidの を抽出します。応答を Notepad++ にコピーし、と をそれぞれ検索しました。tokenpublicURLendpointcloudFilestokencloudfiles


ファイル応答ヘッダーの調整

ラックスペースのドキュメント

次のコマンドでヘッダーを調整してみました。

curl -i -XPOST -H "x-auth-token: my-auth-token" -H "Access-Control-Expose-Headers: Access-Control-Allow-Origin" -H "Access-Control-Allow-Origin: *" https://storage101.lon3.clouddrive.com/v1/MossoCloudFS_my-end-point/container/pseudo-dir1/psuedo-dir2/my-site-icons.ttf

うまくいきましたか?

私はHTTP/1.1 2xx応答を得て、それが動作することを確認しました:

curl -i -XGET -H "X-Auth-Token: my-auth-token" https://storage101.lon3.clouddrive.com/v1/MossoCloudFS_my-end-point/container/pseudo-dir1/psuedo-dir2/my-site-icons.ttf

残念ながら、ファイルの TTL が期限切れになるまで待つか、ファイルをパージして実際の結果を表示する必要があります。これを行ったとき、エッジ パージを行うのに 1 日以上かかっていました。私はライブバージョンをチェックしました:

curl -i -XGET https://live-version-container-hash.ssl.cf3.rackcdn.com/pseudo-dir1/psuedo-dir2/my-site-icons.ttf

アップロード時のファイル応答ヘッダーの設定

ファイルにバージョンを追加し、アップロード中にヘッダーを追加することにしました。

curl -i -XPUT -H "x-auth-token: my-auth-token" -H "Access-Control-Expose-Headers: Access-Control-Allow-Origin" -H "Access-Control-Allow-Origin: *" https://storage101.lon3.clouddrive.com/v1/MossoCloudFS_my-end-point/container/pseudo-dir1/psuedo-dir2/my-site-icons1.0.0.ttf -T my-site-icons.tff

my-site-icons.tffファイルが置かれていたローカル ディレクトリから実行

于 2014-11-12T16:14:18.603 に答える