Pull to refresh

Как засунуть одну CDN в другую?

Reading time 2 min
Views 2.7K

В жизни каждого админа случаются моменты, когда нужно сильно и за недорого. Часто такие задачи способствуют личностному росту и становятся первым шагам к жестким извращениям. Сейчас я попробую описать именно такой случай.


image


Задача


Нужно опубликовать информацию на web-сайте. Информация должна быть защищена от изменений. Информация размещённая на сайте должна быть доступна вне зависимости от полезной или паразитной нагрузки на web сервер.


Подготовка


Что такое CDN (Content Delivery Network) — это несколько серверов, которые кешируют ресурсы вашего web сайта и отдают потребителям. CDN сейчас имеют ещё много разных возможностей, но смысл именно такой.


Требования к сайту


Сайт будет выдаваться из кеша, по этому динамически генерируемое содержимое на стороне сервера нужно исключить, т.к. выполнятся оно будет на исходном сервере провайдера и смысл использования CDN будет частично утрачен. Также чтобы не получить DDOS по ip, настоятельно рекомендую сменить ip исходного сайта после подключения CDN.


  • В просвещенных кругах такие страницы называются "лендинг", но как происходит с большинством хороших идей, смысл лендингов сильно "разымылся". Изначально этот тип дизайна был придуман в расчёте на большую нагрузку и максимально перекладывал задачу представления информации на клиента. Но тут вебмастера для упрощения своей работы стали натягивать лендинги на многомегабайтные CMS и выдавать заказчику вместо красивого голого HTML на несколько килобайт, черный ящик с мегабайтами кода выполняемого на стороне сервера. *

Содержимое сайта будет отдаваться по протоку HTTPS для того чтобы пользователь в теории мог проверить сертификат и решить что всё хорошо. Но как показала практика, люди смотрят только на цвет замочка в адресной строке броузера.


Большинство CDN предлагают два варианта размещения выдачи через свои сервера ресурсов сайта по HTTPS.


Первый вариант — под сертифкатом исходного сайта. Требуется полноценный wildcart SSL сертификат закрывающий поддомены.


Второй вариант — ресурсы сайта отдаются под сертификатом CDN, замочек в адресной строке броузара у пользователя при этом будет тоже будет зелёный.


Эти возможности как раз и позволяют раздать одну CDN через другую.


CDN -1 — договор на раздачу под сертификатом сайта.
Для этого в коде сайте пути к ресурсам нужно поменять на cdn.вашсайт.com предварительно заведя в зоне DNS домена соответствующею запись CNAME с значением полученными от саппорта cdn.


CDN-2 — например бесплатный тариф cloudflare. После настройки сайта на CDN-1 подключается в штатном режиме с помощью мастера настройки.


После настройки обеих CDN мы видим в настройках DNS cloudflare запись:


image


В итоге ресурсы вашего сайта закешированыне CDN-1 раздаются не напрямую посетителям сайта с серверов CDN-1, а сначала проходят в кеш CDN-2 в примере Cloudflare, и потом из кеша Cloudflare уже отдаются посетителям сайта.


Эта статья описывает только одну задачу из длинного списка странных решений публикации информации на web*сайте при необычных условиях.

Tags:
Hubs:
-6
Comments 2
Comments Comments 2

Articles