Назад | Перейти на главную страницу

Избегайте использования динамических HTML-страниц в Amazon CloudFront CDN

Я думаю об использовании распространения CloudFront в качестве CDN для сервера моих изображений, css и js. У меня есть настройка распространения CloudFront, чтобы указать на тот же каталог на сервере, где находится мой код, просто изменив поддомен на cdn, чтобы он был cdn.domain.com.

Моя проблема в том, что этот поддомен CDN также разделил бы ссылки HTML и php, чего я не хочу. Я просто хочу использовать изображения Cloudfront, css и js.

Не могли бы вы указать мне, как это сделать? Есть ли способ сделать это в облачной панели?

Я думаю, что мы можем передать страницу 404 из htaccess, как только вызов попадет на исходный сервер, но я ищу лучший вариант, который фактически предотвратил бы попадание запроса на исходный сервер.

CloudFront отлично подходит для обслуживания динамического HTML. Это быстрее для пользователей (особенно удаленных), даже если страница не кэшируется, поскольку использует магистраль Amazon вместо общедоступного Интернета, который оптимизирован для этой работы. Он защищает ваш сервер от атак уровня 4 (TCP) и уровня 7 (http). Использование одного домена быстрее, если вы используете http / 2, который CloudFront поддерживает, поскольку http / 2 позволяет отправлять ресурсы, необходимые для отображения страницы, еще до того, как клиент узнает о них.

Установите TTL равным 0 для HTML и, очевидно, выше для статических ресурсов.

Взгляните на что-то вроде этого Re: изобретать сеанс для получения дополнительной информации или отличная документация.

Создайте пустое ведро в S3. Имя не имеет значения. Добавьте это в качестве второго источника в раздачу CloudFront. Перенастройте поведение кеша по умолчанию для отправки всех запросов в корзину.

Затем создайте новое поведение кеша для шаблонов путей, которые CloudFront будет обслуживать с вашего сервера, указывая на ваш собственный источник. Примеры шаблонов путей: /*.css, /*.js, и /*.png. В * подстановочный знак соответствует любым символам в пути, включая дополнительные косые черты, поэтому эти файлы будут обслуживаться CloudFront, а все остальное получит XML-сообщение «Доступ запрещен» из фиктивного сегмента.

Бонусные баллы: если вы настроили фиктивный сегмент для хостинга веб-сайта и используете имя хоста конечной точки веб-сайта (вместо выбора сегмента из раскрывающегося списка) при создании нового источника S3, вы можете настроить страницу ошибок по умолчанию для сегмента и отображать этот HTML-код вместо отказа в доступе ... или вы можете настроить корзину для перенаправления любого поступающего запроса обратно в ваш домен, не относящийся к cdn, с помощью правил маршрутизации перенаправления S3.