В жизни каждого админа случаются моменты, когда нужно сильно и за недорого. Часто такие задачи способствуют личностному росту и становятся первым шагам к жестким извращениям. Сейчас я попробую описать именно такой случай.
Задача
Нужно опубликовать информацию на 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 запись:
В итоге ресурсы вашего сайта закешированыне CDN-1 раздаются не напрямую посетителям сайта с серверов CDN-1, а сначала проходят в кеш CDN-2 в примере Cloudflare, и потом из кеша Cloudflare уже отдаются посетителям сайта.
Эта статья описывает только одну задачу из длинного списка странных решений публикации информации на web*сайте при необычных условиях.
keydon2
Не очень понятно что вы добивались.
Почему сразу не завести cloudflare без посредника?
Одна из целей CDN обычно — улучшение времени доступа, а дополнительные узлы не сильно этому способствуют для свежего контента.
+Это лишняя точка отказа и неоправданное усложнение.
P.S. Схема отвратительна. Даже graphviz лучше рисует.
MaxStirlits Автор
Результата два.
Первый затруднить диагностику, тем кому не нужно всё знать.
Второй распределение нагрузки. Обновления большой сложности не представляют, если их свети к минимуму. Да и сам текстовый index.html не кешируется.