Làm cách nào để bạn đặt một đối tượng gốc mặc định cho các thư mục con trên một trang web được lưu trữ tĩnh trên Cloudfront? Cụ thể, tôi muốn www.example.com/subdir/index.html
được phục vụ bất cứ khi nào người dùng yêu cầu www.example.com/subdir
. Lưu ý, điều này là để cung cấp một trang web tĩnh được giữ trong một thùng S3. Ngoài ra, tôi muốn sử dụng danh tính truy cập gốc để hạn chế quyền truy cập vào nhóm S3 đối với chỉ Cloudfront.
Bây giờ, tôi biết rằng Cloudfront hoạt động khác với S3 và amazon nói cụ thể :
Hành vi của các đối tượng gốc mặc định của CloudFront khác với hành vi của các tài liệu chỉ mục Amazon S3. Khi bạn định cấu hình nhóm Amazon S3 làm trang web và chỉ định tài liệu chỉ mục, Amazon S3 sẽ trả về tài liệu chỉ mục ngay cả khi người dùng yêu cầu một thư mục con trong nhóm. (Bản sao của tài liệu chỉ mục phải xuất hiện trong mọi thư mục con.) Để biết thêm thông tin về cách định cấu hình nhóm Amazon S3 làm trang web và về tài liệu chỉ mục, hãy xem chương Trang web lưu trữ trên Amazon S3 trong Hướng dẫn dành cho nhà phát triển dịch vụ lưu trữ đơn giản của Amazon.
Như vậy, mặc dù Cloudfront cho phép chúng tôi chỉ định một đối tượng gốc mặc định, điều này chỉ hoạt động cho www.example.com
chứ không phải cho www.example.com/subdir
. Để giải quyết khó khăn này, chúng ta có thể thay đổi tên miền gốc để trỏ đến điểm cuối của trang web do S3 cung cấp. Điều này hoạt động tốt và cho phép các đối tượng gốc được chỉ định một cách thống nhất. Thật không may, điều này dường như không phù hợp với danh tính truy cập nguồn gốc . Cụ thể, các liên kết trên cho biết:
Thay đổi sang chế độ chỉnh sửa:
Bản phân phối web - Nhấp vào tab Nguồn gốc, nhấp vào nguồn gốc mà bạn muốn chỉnh sửa và nhấp vào Chỉnh sửa. Bạn chỉ có thể tạo danh tính truy cập nguồn gốc cho các nguồn gốc mà Loại nguồn gốc là Nguồn gốc S3.
Về cơ bản, để đặt đối tượng gốc mặc định chính xác, chúng tôi sử dụng điểm cuối trang web S3 chứ không phải chính nhóm trang web. Điều này không tương thích với việc sử dụng danh tính truy cập nguồn gốc. Như vậy, các câu hỏi của tôi tổng hợp thành
Có thể chỉ định đối tượng gốc mặc định cho tất cả các thư mục con cho một trang web được lưu trữ tĩnh trên Cloudfront không?
Có thể thiết lập danh tính truy cập nguồn gốc cho nội dung được phân phát từ Cloudfront trong đó nguồn gốc là điểm cuối trang web S3 chứ không phải nhóm S3 không?