Как стать автором
Обновить

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

А потом раздать эти сервера через cloud flare, чтоб наверняка :)

Спасибо за статью, про geoDNS интересно.

А про свой CDN: теперь обвешать это все мониторингами, написать инструкции как это обслуживать, добавлять сервера, оплачивать хостинги, назначить ответственных. Реализовать инвалидацию, конвертацию картинок. Посмотреть сколько времени в месяц это все жрет, влететь пару раз на "забыли оплатить сервер", "у хостера технические работы". И понять что не нужен тебе свой CDN сервер.

Конвертация и инвалидация изображений это да, попаболь на бесплатном nginx, приходится делать свои костыли.

Можно создать свой GeoDNS сервер на основе, например, PowerDNS и делегировать поддомены на него.

Сертификаты копировать не обязательно. Каждый может сервер получать свои сертификаты через acme.sh, когда вы делаете авторизацию через dns. Потом их надо установить и перезагрузить nginx. Это автоматизируется командой: acme.sh --install-cert -d <domain> --key-file /etc/nginx/ssl/certs/<domain>.key --fullchain-file /etc/nginx/ssl/certs/<domain>.cert --reloadcmd "sudo /usr/sbin/service nginx reload" пути внутри nginx произвольные. главное чтоб в конфигах домена вы их правильно указали.

С такой командой acme.sh будет автоматом проверять обновление сертификата и перезагружать его внутри nginx, когда сертификат обновится.

И есть еще один вопрос, который вы не рассмотрели. Вы заказали 5 серверов чтобы каждый регион ходил через свой сервер, однако отказ любого из серверов оставит пользователей без контента. По хорошему надо какие-то heartbeat запросы отсылать и налету конфигурировать clouddns чтобы при падении сервера автоматом перенаправлять трафик.

Мы для Guru Maps настроили кэширующиего worker-a на cloudflare и он заменил нам все сервера во всех регионах. Cloudflare стал edge cdn и дальше усложнять архитектуру не пришлось.

Спасибо, добавлено пару слов о DNS Failover, как возможное решение

На Caddy реверс в строк 10.

Вангую, что работать будет как-попало. Недаром, серьезные люди не полагаются на DNS, а один IP анонсируют в куче точек присутствия одновременно, чтобы балансировать на уровне маршрутизации пакетов, а не DNS запросов.

Кажется, если делать из говна и палок без ресурсов серьезных людей, то хотябы надо 2-х шаговый алгоритм реализовать, чтобы на первом шаге, балансируя по DNS, запрос шел на скрипт-распределитель (у которого единый url глобально), который, в свою очередь, уже будет, проверяя по базе ip, отдавать 302 на что-то вроде europe.cdn.nashsait.org, чтобы "неправильный" роутинг по DNS приводил лишь к первому медленному запросу, а не всем в рамках сессии

По личному опыту такого неправильного роутинга не более 2-3%. На чистом Anycast, насколько знаю, тоже может быть погрешность, но своей AS увы нет чтобы утверждать

Не зря продают GlobalIP а не резольвинг.

только хороший cdn еще и от доса защищает и просто попыток взлома, брутфорса и дает консоль для формирования рулов.

Ддос да, но CDN от взлома и брутфорса? Где им место в content delivery?

акамай распознает попытки просунуть sql и брутфорс. не обязательно, но есть и хорошо, не надо искать и городить сверху что-то еще

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории