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

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


    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*сайте при необычных условиях.

    • –6
    • 2,1k
    • 2
    Поделиться публикацией

    Комментарии 2

      0
      Не очень понятно что вы добивались.
      Почему сразу не завести cloudflare без посредника?
      Одна из целей CDN обычно — улучшение времени доступа, а дополнительные узлы не сильно этому способствуют для свежего контента.
      +Это лишняя точка отказа и неоправданное усложнение.
      P.S. Схема отвратительна. Даже graphviz лучше рисует.
        0
        Результата два.
        Первый затруднить диагностику, тем кому не нужно всё знать.
        Второй распределение нагрузки. Обновления большой сложности не представляют, если их свети к минимуму. Да и сам текстовый index.html не кешируется.

      Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

      Самое читаемое