Fuente bloqueada por la política de intercambio de recursos de origen cruzado: No 'Access-Control-Allow-Origin'

16

Estamos experimentando este error en Google Chrome. Pensamos que todo estaba configurado correctamente. Pero tal vez no?

La http://skin.cdn.compolítica de intercambio de recursos de origen cruzado ha bloqueado la carga de la fuente de origen : no hay un encabezado 'Access-Control-Allow-Origin' en el recurso solicitado. http://domain2.comPor lo tanto, el origen no tiene acceso permitido.

Y tenemos lo siguiente en htaccess (en la raíz del dominio).

<IfModule mod_headers.c>    
Header add Access-Control-Allow-Origin "http://skin.cdn.com" 
</IfModule>

Pregunta: ¿Olvidé otras configuraciones?

muchas gracias

snh_nl
fuente

Respuestas:

17

Cambie el código de su archivo htaccess en el directorio raíz de su sitio web (es decir, su archivo public_html ".htaccess")

<FilesMatch "\.(ttf|otf|eot|woff|woff2)$">
    <IfModule mod_headers.c>
        Header set Access-Control-Allow-Origin "http://skin.cdn.com"
    </IfModule>
</FilesMatch>

Ahora su CDN podrá cargar su recurso llamándolos como un recurso que pasa (las fuentes).

PRECAUCIÓN: debe PURGAR TODO en su CDN para que los archivos se actualicen en unos minutos.

Tapasa prasante
fuente
1
Su respuesta funcionó perfectamente para mí, pero ¿puedo preguntar por qué eligió el comodín en lugar de elegir limitarlo a orígenes específicos?
amgraham
Este método sigue funcionando.
Rahul
0

No tengo suficiente reputación para comentar la respuesta de @Prashant Tapase, pero su directorio raíz no es su Public_html. Este es un subdirectorio de su directorio raíz. y de las respuestas que he estado investigando La directiva FileMatch debería estar dentro del IfModule Como se muestra a continuación

<IfModule mod_headers.c>
    <FilesMatch "\.(eot|otf|ttc|ttf|woff|woff2)$">
        Header set Access-Control-Allow-Origin "*"
    </FilesMatch>
</IfModule>

Por favor corrígeme si esto está mal.
O puede especificar URL / URI específicos de fuentes como él ha mencionado.

Además, si es un CDN, debería utilizar la versión https, no http, si es posible.

Ryan Stone
fuente