Amazon S3 CORS (Chia sẻ tài nguyên nguồn gốc chéo) và tải phông chữ chéo tên miền Firefox


134

Đã có một vấn đề tồn tại từ lâu với việc Firefox không tải phông chữ từ nguồn gốc khác với trang web hiện tại. Thông thường, vấn đề phát sinh khi các phông chữ được phục vụ trên CDN.

Các giải pháp khác nhau đã được đưa ra trong các câu hỏi khác:

CSS @ font-face không hoạt động với Firefox, nhưng hoạt động với Chrome và IE

Với sự ra đời của Amazon S3 CORS, có giải pháp nào sử dụng CORS để giải quyết vấn đề tải phông chữ trong Firefox không?

chỉnh sửa: Thật tuyệt khi thấy một mẫu cấu hình S3 CORS.

edit2: Tôi đã tìm thấy một giải pháp làm việc mà không thực sự hiểu những gì nó đã làm. Nếu bất cứ ai có thể cung cấp giải thích chi tiết hơn về các cấu hình và ma thuật nền xảy ra theo cách giải thích cấu hình của Amazon, thì nó sẽ được đánh giá rất cao, như với nzifnab, người đã đưa ra tiền thưởng cho nó.

Câu trả lời:


148

Cập nhật ngày 10 tháng 9 năm 2014:

Bạn không cần phải thực hiện bất kỳ hack chuỗi truy vấn nào bên dưới nữa vì Cloudfront hỗ trợ đúng cách CORS ngay bây giờ. Xem http://aws.amazon.com/bloss/aws/enhified-cloudfront-customization/ và câu trả lời này để biết thêm thông tin: https://stackoverflow.com/a/25305915/308315


OK, cuối cùng tôi đã có các phông chữ hoạt động bằng cách sử dụng cấu hình bên dưới với một chút tinh chỉnh từ các ví dụ trong tài liệu.

Phông chữ của tôi được lưu trữ trên S3, nhưng phía trước là đám mây.

Tôi không chắc tại sao nó hoạt động, tôi đoán có lẽ là <AllowedMethod> GET<AllowedHeader> Content-*cần thiết.

Nếu bất kỳ ai thành thạo với cấu hình Amazon S3 CORS có thể làm sáng tỏ điều này, nó sẽ được đánh giá rất cao.

<?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>

biên tập:

Một số nhà phát triển đang phải đối mặt với các vấn đề của Cloudfront lưu trữ Access-Control-Allow-Origintiêu đề. Vấn đề này đã được các nhân viên AWS giải quyết trong liên kết ( https://forums.aws.amazon.com/thread.jspa?threadID=114646 ) bên dưới, được nhận xét bởi @ Jeff-Atwood.

Từ luồng được liên kết, như một cách giải quyết, nên sử dụng Chuỗi truy vấn để phân biệt giữa các cuộc gọi từ các miền khác nhau. Tôi sẽ sao chép ví dụ rút gọn ở đây.

Sử dụng curlđể kiểm tra các tiêu đề phản hồi:

Tên miền A: a.domain.com

curl -i -H "Origin: https://a.domain.com" http://hashhashhash.cloudfront.net/font.woff?https_a.domain.com

Tiêu đề phản hồi từ Tên miền A:

Access-Control-Allow-Origin: https://a.domain.com
Access-Control-Allow-Methods: GET
Access-Control-Max-Age: 3000
Access-Control-Allow-Credentials: true
X-Cache: Miss from Cloudfront

Tên miền B: b.domain.com

curl -i -H "Origin: http://b.domain.com" http://hashhashhash.cloudfront.net/font.woff?http_b.domain.com

Tiêu đề phản hồi từ Tên miền B:

Access-Control-Allow-Origin: http://b.domain.com
Access-Control-Allow-Methods: GET
Access-Control-Max-Age: 3000
Access-Control-Allow-Credentials: true
X-Cache: Miss from Cloudfront

Bạn sẽ nhận thấy rằng Access-Control-Allow-Originđã trả về các giá trị khác nhau, đã vượt qua bộ nhớ đệm Cloudfront.


2
Bạn đã gặp phải các vấn đề tương tự như những gì được mô tả ở đây - Access-Control-Allow-Origintiêu đề được lưu vào bộ đệm và vô hiệu hóa CORS khi yêu cầu tiếp theo được thực hiện thông qua một tên miền phụ khác?
ov

1
@ov Tôi không gặp vấn đề vì tôi đặt rõ ràng các tên miền sử dụng tài nguyên. Tôi đã đọc các liên kết bạn đã đăng trước đó. Tôi mơ hồ nhớ một số câu trả lời trên một chủ đề khác nói rằng các tên miền phải được nêu rõ ràng, vì vậy <allowOrigin> * </ allowOrigin> không thực sự được cho phép, do một số hạn chế. Tôi không thể tìm thấy những bài trả lời ngay bây giờ, nó có thể là bài viết blog tôi đọc ở nơi khác. Mong rằng sẽ giúp.
VKen

3
Bạn có thể có nhiều phần tử allowOrigin bên trong một phần tử CORSRule, vì vậy bạn có thể kết hợp các phần tử CORSRules đó thành một phần tử duy nhất, vì các phần tử khác trong chúng là giống hệt nhau.
Ben Hull

4
@dan nếu nhóm S3 được CloudFront phục vụ, có vẻ như câu trả lời là thay đổi chuỗi truy vấn phông chữ theo tên miền như tài liệu trong câu trả lời chính thức này của Amazon: forum.aws.amazon.com/thread.jspa?threadID=114646
Jeff Atwood

2
Đây là một vấn đề cực kỳ bực bội. Tin vui là S3 bây giờ dường như đang làm điều đúng đắn, vì vậy ít nhất có thể phục vụ mọi thứ khác ngoài webfont thông qua CloudFront và phục vụ các tệp phông chữ trực tiếp từ S3. Đáng buồn thay, hack chuỗi truy vấn không thực sự thiết thực trong ứng dụng của chúng tôi mà không cần tái cấu trúc đáng kể hơn, vì tất cả các tài sản đều được phục vụ qua đường dẫn tài sản Rails và không có cách nào thuận tiện để điều chỉnh URL tài sản theo thời gian yêu cầu (tất cả đều được tạo trong quá trình triển khai khi các tài sản được biên dịch trước). URL của phông chữ trong css đã có trên S3.
Zach Lipton

97

Sau một số điều chỉnh, tôi dường như đã làm cho nó hoạt động mà không cần hack chuỗi truy vấn. Thêm thông tin tại đây: http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/RequestAndResponseBehaviorS3Origin.html#RequestS3-cors

Tôi sẽ thực hiện toàn bộ thiết lập của mình để dễ dàng xem những gì tôi đã làm, hy vọng điều này sẽ giúp những người khác.

Thông tin cơ bản: Tôi đang sử dụng ứng dụng Rails có đá quý property_sync để đưa tài sản lên S3. Điều này bao gồm phông chữ.

Trong bảng điều khiển S3, tôi đã nhấp vào nhóm của mình, thuộc tính và 'chỉnh sửa cấu hình cors', tại đây: Nút cấu hình CORS

Bên trong textarea tôi có một cái gì đó như:

<?xml version="1.0" encoding="UTF-8"?>
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
    <CORSRule>
        <AllowedOrigin>https://*.example.com</AllowedOrigin>
        <AllowedMethod>GET</AllowedMethod>
        <MaxAgeSeconds>3000</MaxAgeSeconds>
        <AllowedHeader>*</AllowedHeader>
    </CORSRule>
</CORSConfiguration>

Sau đó, trong bảng điều khiển Cloudfront ( https://console.aws.amazon.com/cloudfront/home ) Tôi đã tạo một bản phân phối, thêm một Nguồn gốc chỉ vào nhóm S3 của tôi thêm một nguồn gốc

Sau đó, thêm một hành vi cho một đường dẫn mặc định để trỏ đến thiết lập gốc dựa trên S3 mà tôi thiết lập. Những gì tôi cũng đã làm là nhấp vào tiêu đề Whitelist và thêm Origin: thêm một tiêu đề hành vi và danh sách trắng

Điều gì xảy ra bây giờ là như sau, mà tôi tin là đúng:

1) Kiểm tra xem các tiêu đề S3 có được đặt chính xác không

curl -i -H "Origin: https://example.com" https://s3.amazonaws.com/xxxxxxxxx/assets/fonts/my-cool-font.ttf
HTTP/1.1 200 OK
x-amz-id-2: Ay63Qb5uR98ag47SRJ91+YALtc4onRu1JUJgMTU98Es/pzQ3ckmuWhzzbTgDTCt+
x-amz-request-id: F1FFE275C0FBE500
Date: Thu, 14 Aug 2014 09:39:40 GMT
Access-Control-Allow-Origin: https://example.com
Access-Control-Allow-Methods: GET
Access-Control-Max-Age: 3000
Access-Control-Allow-Credentials: true
Vary: Origin, Access-Control-Request-Headers, Access-Control-Request-Method
Cache-Control: public, must-revalidate, proxy-revalidate, max-age=180
Last-Modified: Mon, 09 Dec 2013 14:29:04 GMT
ETag: "98918ee7f339c7534c34b9f5a448c3e2"
Accept-Ranges: bytes
Content-Type: application/x-font-ttf
Content-Length: 12156
Server: AmazonS3

2) Kiểm tra Cloudfront hoạt động với các tiêu đề

curl -i -H "Origin: https://example.com" https://xxxxx.cloudfront.net/assets/fonts/my-cool-font.ttf
HTTP/1.1 200 OK
Content-Type: application/x-font-ttf
Content-Length: 12156
Connection: keep-alive
Date: Thu, 14 Aug 2014 09:35:26 GMT
Access-Control-Allow-Origin: https://example.com
Access-Control-Allow-Methods: GET
Access-Control-Max-Age: 3000
Access-Control-Allow-Credentials: true
Cache-Control: public, must-revalidate, proxy-revalidate, max-age=180
Last-Modified: Mon, 09 Dec 2013 14:29:04 GMT
ETag: "98918ee7f339c7534c34b9f5a448c3e2"
Accept-Ranges: bytes
Server: AmazonS3
Vary: Origin
X-Cache: Miss from cloudfront
Via: 1.1 77bdacfea247b6cbe84dffa61da5a554.cloudfront.net (CloudFront)
X-Amz-Cf-Id: cmCxaUcFf3bT48zpPw0Q-vDDza0nZoWm9-_3qY5pJBhj64iTpkgMlg==

(Lưu ý ở trên là một lỗi từ đám mây vì các tệp này được lưu trong bộ nhớ cache trong 180 giây, nhưng cùng hoạt động với các lần truy cập)

3) Lượt truy cập trên nền tảng đám mây với nguồn gốc khác (nhưng được cho phép trên CORS cho nhóm S3) - Access-Control-Allow-Originkhông được lưu trong bộ nhớ cache! vâng

curl -i -H "Origin: https://www2.example.com" https://xxxxx.cloudfront.net/assets/fonts/my-cool-font.ttf
HTTP/1.1 200 OK
Content-Type: application/x-font-ttf
Content-Length: 12156
Connection: keep-alive
Date: Thu, 14 Aug 2014 10:02:33 GMT
Access-Control-Allow-Origin: https://www2.example.com
Access-Control-Allow-Methods: GET
Access-Control-Max-Age: 3000
Access-Control-Allow-Credentials: true
Cache-Control: public, must-revalidate, proxy-revalidate, max-age=180
Last-Modified: Mon, 09 Dec 2013 14:29:04 GMT
ETag: "98918ee7f339c7534c34b9f5a448c3e2"
Accept-Ranges: bytes
Server: AmazonS3
Vary: Origin
X-Cache: Miss from cloudfront
Via: 1.1 ba7014bad8e9bf2ed075d09443dcc4f1.cloudfront.net (CloudFront)
X-Amz-Cf-Id: vy-UccJ094cjdbdT0tcKuil22XYwWdIECdBZ_5hqoTjr0tNH80NQPg==

Lưu ý ở trên rằng tên miền đã thay đổi thành công mà không cần hack chuỗi truy vấn.

Khi tôi thay đổi tiêu đề Origin, dường như luôn có một X-Cache: Miss from cloudfrontyêu cầu đầu tiên, sau đó tôi nhận được mong đợiX-Cache: Hit from cloudfront

PS Điều đáng chú ý là khi thực hiện curl -I (viết hoa I) sẽ KHÔNG hiển thị các tiêu đề Access-Control-Allow-Origin vì nó chỉ là một Head, tôi làm -i để làm cho nó NHẬN và cuộn lên.


Làm việc khi tất cả những người khác đã không. Cảm ơn đã dành thời gian để đăng chi tiết như vậy!
iwasrobbed

Nó hoạt động !! FYI - Tôi đã có một văn bản phản hồi http rất lớn khi thử nghiệm điều này ... sẽ chỉnh sửa câu trả lời để sử dụng giải pháp curl này ... stackoverflow.com/questions/10060098/ trộm
Michael Gorham

Những người cảm ơn tuyệt vời - rất vui khi thấy nó hoạt động cho người khác.
Eamonn Gahan

Tôi không thể nói cho bạn biết bạn đã giúp chúng tôi bao nhiêu! +1
không có gì đặc biệt ở đây vào

1
+1 để thêm tiêu đề khách hàng Origintừ người xem để Cloudfront lưu trữ đối tượng dựa trên tiêu đề đó (và chuyển tiếp tiêu đề CORS của máy chủ trở lại cho người dùng)
Sébastien Saunier

13

Phông chữ của tôi được phục vụ chính xác cho đến lần đẩy Heroku cuối cùng ... Tôi không biết tại sao, nhưng ký tự đại diện trong CORS cho phép nguồn gốc ngừng hoạt động. Tôi đã thêm tất cả các tên miền pro và pro của mình vào chính sách CORS trong cài đặt nhóm để bây giờ nó trông như thế này:

<CORSConfiguration>
    <CORSRule>
        <AllowedOrigin>http://prepro.examle.com</AllowedOrigin>
        <AllowedOrigin>https://prepro.examle.com</AllowedOrigin>
        <AllowedOrigin>http://examle.com</AllowedOrigin>
        <AllowedOrigin>https://examle.com</AllowedOrigin>
        <AllowedMethod>GET</AllowedMethod>
        <MaxAgeSeconds>3000</MaxAgeSeconds>
        <AllowedHeader>Authorization</AllowedHeader>
    </CORSRule>

</CORSConfiguration>

CẬP NHẬT: thêm http://localhost:PORTquá của bạn


1
Cảm ơn bạn đã chia sẻ giải pháp này. Điều này làm việc cho tôi.
Ryan Montgomery

8

Chà, tài liệu nói rằng bạn có thể dán cấu hình là "nguồn phụ cors trong thùng của bạn." Tôi lấy điều này có nghĩa là tôi sẽ tạo một tệp có tên là "cors" ở gốc của nhóm với cấu hình, nhưng điều này sẽ không hoạt động. Cuối cùng, tôi đã phải đăng nhập vào khu vực quản trị Amazon S3 và thêm cấu hình trong propertieshộp thoại của nhóm.

S3 có thể sử dụng một số tài liệu tốt hơn ...


1
Đúng, nhưng tôi đã may mắn phát hiện ra một số thay đổi giao diện mới tại bảng thuộc tính. Tôi đã chỉnh sửa các chính sách xô, do đó, tự nhiên tôi săn tìm cấu hình CORS trong cùng một bảng.
VKen

làm việc cho tôi, tôi đang tìm cách thiết lập điều này trong ứng dụng của mình, người biết rằng nó sẽ rất đơn giản
Richlewis

7

Trong cấu hình Amazon S3 CORS (Xô S3 / Quyền / CORS) nếu bạn sử dụng:

<?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>*</AllowedHeader>
</CORSRule>

CORS hoạt động tốt cho các tệp Javascript và CSS, nhưng nó không hoạt động cho các tệp Phông chữ .

Bạn phải chỉ định tên miền để cho phép CORS sử dụng mẫu được thể hiện trong câu trả lời @VKen: https://stackoverflow.com/a/25305915/618464

Vì vậy, sử dụng này :

<?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>*</AllowedHeader>
</CORSRule>
<CORSRule>
    <AllowedOrigin>https://*.mydomain.com</AllowedOrigin>
    <AllowedMethod>GET</AllowedMethod>
    <MaxAgeSeconds>3000</MaxAgeSeconds>
    <AllowedHeader>*</AllowedHeader>
</CORSRule>
</CORSConfiguration>

Hãy nhớ thay thế "mydomain.com" cho tên miền của bạn.

Sau này, vô hiệu hóa bộ đệm của CloudFront (CloudFront / Unlimitedations / Tạo không hợp lệ) và nó sẽ hoạt động.


6

Trong trường hợp của tôi, tôi đã không xác định không gian tên XML và phiên bản trong cấu hình CORS. Xác định những người làm việc.

Thay đổi

<CORSConfiguration>

đến

<?xml version="1.0" encoding="UTF-8"?>
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">

Làm việc cho tôi quá. Phông chữ của tôi được lưu trữ trên thùng chính nó.
khamaileon

Tại sao mẫu mặc định không tự động bao gồm điều này nằm ngoài tôi.
CoatedMoose

4

Có một cách tốt hơn và dễ dàng hơn!

Cá nhân tôi thích sử dụng tên miền phụ DNS của mình để giải quyết vấn đề này. Nếu CDN của tôi đứng sau cdn.myawesom OK.com thay vì sdf73n7ssa.cloudfront.net thì các trình duyệt sẽ không bị rối và chặn chúng như các vấn đề bảo mật tên miền chéo.

Để trỏ tên miền phụ của bạn đến miền AWS Cloudfront, hãy đến bảng điều khiển AWS Cloudfront, chọn phân phối Cloudfront của bạn và nhập tên miền phụ CDN của bạn vào trường Tên miền thay thế (CNAME). Một cái gì đó như cdn.myawesom Ứng dụng.com sẽ làm.

Bây giờ bạn có thể truy cập nhà cung cấp DNS của mình (như AWS Route 53) và tạo CNAME cho cdn.myawesom Ứng dụng.com trỏ đến sdf73n7ssa.cloudfront.net.

http://blog.cloud66.com/cross-origin-resource-shaming-cors-blocked-for-cloudfront-in-rails/


Điều này phá vỡ SSL hoặc đúng hơn là tốn rất nhiều tiền để làm với SSL do đó rất nhiều người không làm điều này.
maletor

4

Cấu hình này làm việc cho tôi. Tôi có thể liệt kê đối tượng, lấy, cập nhật và xóa.

<?xml version="1.0" encoding="UTF-8"?>
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
  <CORSRule>
    <AllowedOrigin>http://localhost:3000</AllowedOrigin>
    <AllowedMethod>HEAD</AllowedMethod>
    <AllowedMethod>GET</AllowedMethod>
    <AllowedMethod>PUT</AllowedMethod>
    <AllowedMethod>POST</AllowedMethod>
    <AllowedMethod>DELETE</AllowedMethod>
    <AllowedHeader>*</AllowedHeader>
    <ExposeHeader>ETag</ExposeHeader>
    <ExposeHeader>x-amz-meta-custom-header</ExposeHeader>
  </CORSRule>
</CORSConfiguration>

bạn cần thay đổi tên miền, như tôi đã thử nghiệm từ localhost, chỉ cần xem trang này để biết CORS: docs.aws.amazon.com/AWSJavaScriptSDK/guide/iêu
Shahid

1
<ifModule mod_headers.c>

   Header set Access-Control-Allow-Origin: http://domainurl.com

</ifModule>

Giải pháp đơn giản


Cám ơn vì đã chia sẻ! Đã cho tôi ý tưởng chỉ cần thêm tiêu đề này dưới dạng 'siêu dữ liệu' trong khi tải tài sản tĩnh lên lưu trữ đám mây. (Mặc dù theo cách đó, nó sẽ hoạt động chỉ với 1 particular domainhoặc all domains)
Vinay Vissh

0

Khởi động lại ứng dụng khởi động mùa xuân (máy chủ) đã giải quyết vấn đề cho tôi.

Tôi đã cấu hình CORS chính xác trên S3. Các curl đã đưa ra phản ứng chính xác với tiêu đề gốc. Safari đã tìm nạp phông chữ chính xác. Chỉ có chrome là người không sẵn sàng chấp nhận CORS.

Không chắc chắn chính xác những gì gây ra hành vi. Phải là một cái gì đó để làm với If-sửa đổi-kể từ


0

Điều này không liên quan đến phông chữ nhưng với hình ảnh, nó có thể là một trường hợp cạnh, nhưng như nó đã xảy ra với tôi, nó có thể xảy ra với một cái khác. Tôi sẽ để nó ở đây với hy vọng nó sẽ giúp được ai đó:

Nếu bạn đang ở trong kịch bản "Tôi đã làm mọi thứ họ nói, nhưng nó vẫn không hoạt động" thì chắc chắn đó là vấn đề liên quan đến bộ nhớ cache trong Chrome và Safari. Giả sử máy chủ của bạn có bộ cấu hình CORS phù hợp:

<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
    <CORSRule>
        <AllowedOrigin>*</AllowedOrigin>
        <AllowedMethod>GET</AllowedMethod>
        <MaxAgeSeconds>3000</MaxAgeSeconds>
    </CORSRule>
</CORSConfiguration>

và trong Firefox mọi thứ đều hoạt động tốt, nhưng trong Chrome và Safari thì không. Nếu bạn đang truy cập vào đường dẫn hình ảnh từ xa của mình từ cả<img src="http://my.remote.server.com/images/cat.png"> thẻ đơn giản và từ phần tử js Image src, như theo cách sau:

var myImg = new Image()
myImg.crossOrigin = 'Anonymous'
myImg.onload = () => {
  // do stuff (maybe draw the downloaded img on a canvas)
}
myImg.src = 'http://my.remote.server.com/images/cat.png'

Bạn có thể No 'Access-Control-Allow-Origin'gặp lỗi trong Chrome và Safari. Điều này xảy ra bởi vì <img>cách đầu tiên bằng cách nào đó làm rối bộ đệm của trình duyệt và khi bạn đang cố truy cập cùng một hình ảnh sau đó (trên phần tử Hình ảnh trong mã), nó chỉ bị hỏng. Để tránh điều này, bạn có thể thêm một tham số GET giả tưởng vào một đường dẫn .src, để buộc trình duyệt yêu cầu lại hình ảnh và tránh sử dụng bộ đệm, như thế này:

<img src="http://my.remote.server.com/images/cat.png?nocache=true"></img>

-1

Phải, tất nhiên. Firefox hỗ trợ CORS cho các phông chữ, giống như thông số kỹ thuật yêu cầu tại http://dev.w3.org/csswg/css3-fonts/#allowing-cross-origin-font-loading


Cảm ơn phản hồi nhanh chóng của bạn, Boris Zbarsky. Bạn có thể hiển thị một số cấu hình ví dụ cho cài đặt S3 CORS không?
VKen

Tôi chưa bao giờ xem xét việc định cấu hình S3 ... Theo như những gì cần gửi ở cấp HTTP, nếu bạn đồng ý với nó, chỉ cần gửi "Truy cập-Kiểm soát-Cho phép-Xuất xứ: *" trong phản hồi HTTP cho các tệp phông chữ nên làm việc.
Boris Zbarsky

Cảm ơn, tôi đang cố gắng tìm hiểu chính xác cách thực hiện cài đặt đó với cấu hình S3 CORS.
VKen
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.