UPDATE: Sembra un bug in Chrome: https://code.google.com/p/chromium/issues/detail?id=544879recenti Chrome (46.0.2490.7) non riesce a caricare i font su HTTPS CORS da S3 secchio
Abbiamo avuto un sito di un corsa per un paio di anni a questa parte con i font ospitati su S3. NON è un sito Web S3, è un CDN privato e cariciamo il carattere con un URL autenticato S3.
Con l'ultimo aggiornamento da Chrome, questo ha smesso di funzionare a causa di problemi CORS.
S3 è configurato per CORS come questo ..
<?xml version="1.0" encoding="UTF-8"?>
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<CORSRule>
<AllowedOrigin>*</AllowedOrigin>
<AllowedMethod>GET</AllowedMethod>
<MaxAgeSeconds>3000</MaxAgeSeconds>
<AllowedHeader>Authorization</AllowedHeader>
</CORSRule>
</CORSConfiguration>
Questo ha funzionato fino al cromo 46.0.2490.7 (rilasciato 2 giorni fa). Ora gli errori con questo:
Font from origin 'https://domain.s3-eu-west-1.amazonaws.com' has been blocked from loading by Cross-Origin Resource Sharing policy: A wildcard '*' cannot be used in the 'Access-Control-Allow-Origin' header when the credentials flag is true. Origin 'https://domain.co.uk' is therefore not allowed access.
Suona come Chrome si sta aggiungendo le credenziali bandiera? Ho trovato questo ticket https://code.google.com/p/chromium/issues/detail?id=516192 da agosto che sembra aver applicato il flag Credentials sulle stesse richieste di dominio https, ma questa è una richiesta https CORS, quindi non dovrebbe aggiungerla?
Inoltre, anche se rimuovo * e aggiungo il dominio per vedere se lo risolve, allora dice che non c'è il set di valori Access-Control-Allow-Origin
, che non è il caso.
Qualcuno sa cosa sta succedendo, mi manca qualcosa?
m
Questo è sicuramente un comportamento buggy. Il modulo Livello 3 dei CSS indica chiaramente che ["durante il recupero, i programmi utente devono utilizzare la modalità" Anonimo "] (http://www.w3.org/TR/css-fonts-3/#font-fetching-requirements) . –