2012-01-06 41 views
10

Tôi đang sử dụng CloudFront để phân phối tệp hình ảnh, css và js cho trang web của mình bằng tùy chọn xuất xứ tùy chỉnh với tên miền phụ CNAMEd vào tài khoản của tôi. Nó hoạt động khá tốt.Nguồn gốc tùy chỉnh trên đám mây đang gây ra vấn đề nội dung trùng lặp

trang web chính: www.mainsite.com

  1. static1.mainsite.com
  2. static2.mainsite.com

trang mẫu: www.mainsite.com/summary/page1. htm

trang này gọi là một hình ảnh từ static1.mainsite.com/images/image1.jpg

Nếu Cloudfront chưa lưu hình ảnh, nó sẽ lấy hình ảnh từ www.mainsite.htm/images/image1.jpg

Tất cả đều hoạt động tốt.

Vấn đề là google cảnh báo đã đưa tin trang như được tìm thấy ở cả hai:

Các trang chỉ nên truy cập từ www. trang web. Không thể truy cập các trang từ các miền CNAME.

Tôi đã cố gắng đặt một ghi đè mod trong tệp .htaccess và tôi cũng đã cố gắng đặt lối ra() trong tệp tập lệnh chính.

Nhưng khi Cloudfront không tìm thấy phiên bản tĩnh của tệp trong bộ nhớ cache, nó gọi nó từ trang chính và sau đó lưu trữ nó.

câu hỏi sau đó là:

1. What am I missing here? 
2. How do I prevent my site from serving pages instead of just static components to cloudfront? 
3. How do I delete the pages from cloudfront? just let them expire? 

Nhờ sự giúp đỡ của bạn.

Joe

Trả lời

0

Bạn cần thêm tệp robots.txt và yêu cầu trình thu thập không lập chỉ mục nội dung trong static1.mainsite.com.

Trong CloudFront, bạn có thể kiểm soát tên máy chủ mà CloudFront sẽ truy cập vào máy chủ của bạn. Tôi khuyên bạn nên sử dụng tên máy chủ cụ thể để cung cấp cho CloudFront khác với tên máy chủ lưu trữ trang web thông thường của bạn. Bằng cách đó, bạn có thể phát hiện yêu cầu đối với tên máy chủ đó và phân phối robots.txt không cho phép mọi thứ (không giống như robots.txt trang web thông thường của bạn)

25

[Tôi biết chủ đề này cũ nhưng tôi trả lời cho những người như tôi những người nhìn thấy nó vài tháng sau đó.]

Từ những gì tôi đã đọc và thấy, CloudFront không tự xác định liên tục trong yêu cầu. Nhưng bạn có thể giải quyết vấn đề này bằng cách ghi đè robots.txt tại phân phối CloudFront.

1) Tạo nhóm S3 mới chỉ chứa một tệp: robots.txt. Đó sẽ là robots.txt cho miền CloudFront của bạn.

2) Chuyển đến cài đặt phân phối của bạn trong Bảng điều khiển AWS và nhấp vào Tạo nguồn gốc. Thêm xô.

3) Tới Hành vi và nhấn Create Hành vi: Đường dẫn Pattern: robots.txt Xuất xứ: (xô mới của bạn)

4) Thiết lập các hành vi robots.txt tại một ưu tiên cao hơn (số thấp hơn).

5) Chuyển đến vô hiệu và vô hiệu hóa /robots.txt.

Bây giờ abc123.cloudfront.net/robots.txt sẽ được phân phát từ thùng và mọi thứ khác sẽ được phân phát từ miền của bạn. Bạn có thể chọn cho phép/không cho phép thu thập dữ liệu ở cấp độ độc lập.

Tên miền/tên miền phụ khác cũng sẽ hoạt động thay cho một nhóm, nhưng tại sao lại gặp sự cố.

Các vấn đề liên quan