Cloudfront Custom Origin вызывает проблемы с дублирующимся содержимым

Я использую CloudFront для обслуживания изображений, файлов css и js для моего веб-сайта, используя опцию настраиваемого происхождения с поддоменами CNAMEd для моей учетной записи. Работает очень хорошо.

Основной сайт: www.mainsite.com

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

Пример страницы: www.mainsite.com/summary/page1.htm

Эта страница вызывает изображение из static1.mainsite.com/images/image1.jpg

Если Cloudfront еще не кэшировал изображение, он получает изображение с www.mainsite.htm / images / image1.jpg.

Все работает нормально.

Проблема в том, что оповещение Google сообщило, что страница была найдена в обоих:

Страница должна быть доступна только с www. сайт. Страницы не должны быть доступны из доменов CNAME.

Я попытался переписать мод в файле .htaccess, а также попытался поместить exit () в основной файл скрипта.

Но когда Cloudfront не находит версию файла static1 в своем кеше, он вызывает ее с основного сайта, а затем кеширует.

Тогда возникают следующие вопросы:

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?

Спасибо за вашу помощь.

Джо


person Joe Boxer    schedule 06.01.2012    source источник


Ответы (2)


[Я знаю, что эта ветка устарела, но я отвечаю на нее для таких людей, как я, которые видят ее несколько месяцев спустя.]

Судя по тому, что я читал и видел, CloudFront не всегда идентифицирует себя в запросах. Но вы можете обойти эту проблему, переопределив robots.txt в раздаче CloudFront.

1) Создайте новую корзину S3, содержащую только один файл: robots.txt. Это будет файл robots.txt для вашего домена CloudFront.

2) Зайдите в настройки своего распространения в Консоли AWS и нажмите Create Origin. Добавьте ведро.

3) Перейдите в раздел «Поведение» и нажмите «Создать поведение: шаблон пути: robots.txt Origin: (ваш новый сегмент)».

4) Установите более высокий приоритет (меньшее число) для поведения robots.txt.

5) Перейти к недействительности и сделать недействительным /robots.txt.

Теперь abc123.cloudfront.net/robots.txt будет обслуживаться из корзины, а все остальное будет обслуживаться из вашего домена. Вы можете разрешить / запретить сканирование на любом уровне независимо.

Другой домен / поддомен тоже будет работать вместо ведра, но зачем возиться.

person Luke Lambert    schedule 16.05.2013

Вам необходимо добавить файл robots.txt и запретить поисковым роботам индексировать контент на static1.mainsite.com.

В CloudFront вы можете контролировать имя хоста, с которым CloudFront будет получать доступ к вашему серверу. Я предлагаю использовать для CloudFront конкретное имя хоста, которое отличается от обычного имени хоста веб-сайта. Таким образом вы можете обнаружить запрос к этому имени хоста и предоставить robots.txt, который запрещает все (в отличие от вашего обычного сайта robots.txt).

person Eran Sandler    schedule 01.02.2012