Tôi đang cố gắng để Cloudflare hoạt động như CDN cho các tệp được lưu trữ trên S3, theo cách mà không ai có thể truy cập tệp trực tiếp. Ví dụ:S3 với Cloudflare không cho phép truy cập trực tiếp
S3 xô: cdn.mydomain.com.s3.amazonaws.com
CDN (CloudFlare): cdn.mydomain.com
Những gì tôi muốn là để có thể truy cập vào cdn.mydomain.com/file.jpg
(CloudFlare) nhưng không cdn.mydomain.com.s3.amazonaws.com/file.jpg
(S3).
Ngay bây giờ tôi có một CNAME cấu hình trên CloudFlare trỏ đến xô tôi, và CORS sau:
<?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>
Nếu tôi cố gắng truy cập vào bất kỳ tập tin, qua S3 hoặc CDN, tôi nhận được sự cho phép từ chối. Nếu tôi tạo một tệp công khai (aka người được cấp phép Tất cả), tôi có thể truy cập tệp đó qua S3 và CDN.
Tôi đã thử thay đổi AllowedOrigin
bằng *.mydomain.com
, nhưng không có may mắn.
Hope bài viết này giúp bạn https://www.maxcdn.com/one/tutorial/s3-access/ – rocketspacer