Home > Web Front-end > CSS Tutorial > How to Configure Amazon S3 CORS for Cross-Domain Font Loading in Firefox?

How to Configure Amazon S3 CORS for Cross-Domain Font Loading in Firefox?

Susan Sarandon
Release: 2024-12-09 12:01:16
Original
961 people have browsed it

How to Configure Amazon S3 CORS for Cross-Domain Font Loading in Firefox?

Amazon S3 CORS and Firefox's Cross-Domain Font Loading

Firefox encounters complexities in loading fonts from origins other than the current webpage, particularly when the fonts reside on CDNs. To address this issue, various solutions have been proposed, among them the implementation of Amazon S3 CORS (Cross-Origin Resource Sharing).

S3 CORS Configuration

To enable cross-domain font loading through S3 CORS, you must configure Amazon S3 as follows:

<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>
Copy after login

This configuration:

  • Allows requests from the specified origins (mydomain.com and its subdomains).
  • Limits requests to the GET method, which is used for fetching fonts.
  • Specifies a caching time of 3000 seconds, reducing load on the server.
  • Allows specific headers necessary for font retrieval (Content-Type and Host).

Cloudfront Caching Issue

Some users may encounter issues with Cloudfront caching the Access-Control-Allow-Origin header, preventing cross-domain font loading. To circumvent this, employ a query string to differentiate between requests from different domains. For instance:

<pre class="brush:php;toolbar:false">curl -i -H "Origin: https://a.domain.com" http://hashhashhash.cloudfront.net/font.woff?https_a.domain.com
Copy after login

In this example, the query string "?https_a.domain.com" uniquely identifies the request from domain "a.domain.com." Cloudfront will then return a customized Access-Control-Allow-Origin header for each domain.

The above is the detailed content of How to Configure Amazon S3 CORS for Cross-Domain Font Loading in Firefox?. For more information, please follow other related articles on the PHP Chinese website!

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Articles by Author
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template