Es ist bekannt, dass bei Firefox Probleme beim Laden von Schriftarten auftreten, die von einem anderen Ursprung als der aktuellen Webseite stammen , insbesondere wenn Schriftarten auf CDNs gehostet werden. Dieses Problem wurde in Online-Foren ausführlich diskutiert, darunter auch im zitierten.
Um dieser Herausforderung zu begegnen, bietet Amazon S3 CORS (Cross-Origin Resource Sharing) eine mögliche Lösung. Mit CORS können Server Ressourcen angeben, auf die von anderen Domänen aus zugegriffen werden kann, wodurch domänenübergreifende Sicherheitsbeschränkungen gemildert werden.
Um CORS für S3 zu konfigurieren, muss ein XML-Dokument in den Bucket hochgeladen werden, der die Schriftarten enthält. Die folgende Konfiguration wird empfohlen:
<?xml version="1.0" encoding="UTF-8"?> <CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/"> <CORSRule> <AllowedOrigin>https://mydomain.com</AllowedOrigin> <AllowedMethod>GET</AllowedMethod> <MaxAgeSeconds>3000</MaxAgeSeconds> <AllowedHeader>Content-*</AllowedHeader> <AllowedHeader>Host</AllowedHeader> </CORSRule> <CORSRule> <AllowedOrigin>https://*.mydomain.com</AllowedOrigin> <AllowedMethod>GET</AllowedMethod> <MaxAgeSeconds>3000</MaxAgeSeconds> <AllowedHeader>Content-*</AllowedHeader> <AllowedHeader>Host</AllowedHeader> </CORSRule> </CORSConfiguration>
Diese Konfiguration ermöglicht:
Aufgrund der Zwischenspeicherung des Access-Control-Allow-Origin-Headers durch Cloudfront haben einige Entwickler jedoch Probleme beim domänenübergreifenden Laden von Schriftarten gemeldet. Um dies zu umgehen, besteht eine Problemumgehung darin, eine Abfragezeichenfolge zu verwenden, um zwischen Anrufen aus verschiedenen Domänen zu unterscheiden:
curl -i -H "Origin: https://a.domain.com" http://hashhashhash.cloudfront.net/font.woff?https_a.domain.com
Dieser Ansatz ermöglicht es Cloudfront, eindeutige Antworten für verschiedene Domänen bereitzustellen und so das Caching-Problem zu umgehen.
Zusammenfassend lässt sich sagen, dass die Verwendung von Amazon S3 CORS zusammen mit der Problemumgehung für Abfragezeichenfolgen die Probleme beim domänenübergreifenden Laden von Schriftarten in Firefox lösen kann. Wenn Sie weitere Hilfe benötigen, finden Sie im zitierten AWS-Forenthread weitere Einblicke und Erklärungen von Amazon-Experten.
Das obige ist der detaillierte Inhalt vonWie kann ich Firefox-Probleme beim domänenübergreifenden Laden von Schriftarten mit Amazon S3 CORS beheben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!