24/9/11

singalen: (2002)
Вы часто получали от сайтов ошибку "502 Bad gateway блабла nginx 0.8"?

Почему люди вообще пользуются nginx-ом как кэширующим прокси, а не, скажем, Varnish-ем? Я знаю, nginx супер-быстрый.

Но если бэк-эндовый сервер ляжет, скорость nginx-у не поможет. А Varnish можно настроить на несколько бэк-эндов.

Мне видится такая схема:
* миррорим сайт в статический HTML;
* выкладываем эту статику хотя бы и в nginx;
* ставим фронт-эндом Varnish, а двумя бэк-эндами - основной сайт и статическую копию.

И вуаля, у нас красивый фолбэк на основную массу контента. А все динамические функции отрубаем и на их месте выводим надпись "извините, у нас накладка". Varnish умеет и HTML-и менять на лету.

Есть накладка с content-type: если сайт выдаёт HTML без расширения, то wget --mirror и сохранит его без расширения, а статический веб-сервер не сможет сказать, какой это тип контента. Впрочем, если без расширений только HTML, то вот и вариант решения: wget --html-extension и вуаля.

В частности, это я думаю попробовать на своём гаражном сервере: основной сервер держать дома, а фронт-энд с копией - на VPS-е. Иначе понадобился бы некислый выделенный сервер.

Выглядит вполне жизнеспособно. Интересно получается.

Кто встречал что-нибудь подобное?