Карагодина Степана Ивановича расстреляли 21 января 1938. Почти у всех нас в России есть истории, связанные с большим террором — у кого-то предков сослали или расстреляли, кто-то — потомок палачей, бывает и оба вместе. Денис Карагодин уже много лет делает удивительный проект — расследует, кто и как убил его прадеда.
Позавчера Денис опубликовал на своем сайте востановленные нейросетями цветные фотографии убийц и предсмертную записку руководителя Томского НКВД. Смотреть жутко, потому что это обычные фотографии обычных людей, ничего особенного на лицах нет.
После этой публикации на сайт пришли в 247 раз больше посетителей, чем обычно и он упал. Денис написал мне в телеграм, дал доступы к серверу и мы быстро его подняли. Ниже краткая инструкция, как спастись от адского трафика новостному сайту.
У Дениса, как и у многих медиа, wordpress на виртуалке и cloudflare для защиты от DDoS. Но, также как у многих, у него не были правильно настроены кеши. Кеш — это подготовленный заранее ответ сервера, который хранится в памяти и отдается по запросу пользователя практически мгновенно, с минимальной нагрузкой на сервер. Кешировать сайт можно на многих уровнях, начиная с самого вордпресса, заканчивая nginx и серверами cloudflare.
Я выбрал самый простой и бронебойный вариант — на серверах cloudflare. В этом способе запросы читателей вообще не доходят до вашего сервера, все страницы (из кеша) отдают серверы Cloudflare. Для того, чтобы его включить нужно: 1) настроить агрессивное кеширование в админке cloudflare; 2) порой ещё нужно настроить заголовки ответа сервера, которые разрешают кеширование страниц, для этого достаточно добавить две строчки в конфигурацию nginx. Voilà!
Ну а дальше я сконтачил Дениса с Васей Озеровым, основателем классной компании сисадминов fevlake, чтобы они потом сделали всё основательно и на века. Кстати, у Васи есть классный канал про devops, рекомендую.
Обращайтесь к нам с Федей, мы делаем так, чтобы сайты не падали!