當在CDN上託管FontAwesome時,如果在CDN的域與服務器的域不匹配時如何允許它加載字體?如何允許FontAwesome從不同的域中加載字體
我的媒體託管在S3存儲桶中,由Cloudfront端點提供服務。我的網頁服務於example.com
,包含指向此Cloudfront端點的鏈接,並且對此端點的所有初始媒體請求都成功。不過,如果我觸發試圖使新FontAwesome內容,使其嘗試加載字體任何JS,我得到這樣一個錯誤:
Access to Font at 'http://lkfejwifisj.cloudfront.net/font-awesome-4.2.0/fonts/fontawesome-webfont.d95d6f5d5ab7.woff?v=4.2.0' from origin 'http://example.com' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://example.com' is therefore not allowed access.
我做我的S3區的CORS政策,開放地與配置:
<?xml version="1.0" encoding="UTF-8"?>
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<CORSRule>
<AllowedOrigin>*</AllowedOrigin>
<AllowedMethod>HEAD</AllowedMethod>
<AllowedMethod>GET</AllowedMethod>
<AllowedMethod>POST</AllowedMethod>
<MaxAgeSeconds>3000</MaxAgeSeconds>
<AllowedHeader>*</AllowedHeader>
</CORSRule>
</CORSConfiguration>
但是,這並沒有解決問題。
我使用Chrome作爲我的瀏覽器,顯然這種類型的錯誤已被提及manymany之前。但是,所提出的解決方案都不適用,或者不適合我。
我該如何解決這個問題?
爲什麼Chrome會在所請求的資源中顯示「否」Access-Control-Allow-Origin'標頭存在「,當我明確允許CORS配置中的所有源存在時?