@voe
C#, с недавних пор ruby on rails с под. IE8

Как сделать заглушку на время технических работ?

Собственно сам вопрос :)
Пока видеться такой способ :
На БД сайта сделать поле которое будет отвечать за статус работы сайта - 1 штатный режим, 2 - обслуживание.
При переводе на обслуживание меняем значение в БД. Скидываем все сессии с сайта (используется gem devise) и при логине проверяем статус сайта и права пользователя, если обслуживание то при логине (если нет прав админа) переадресовываем на страницу с 503 и текстом - техническое обслуживание...
Можно конечно тупо блокировать доступ вообще, но нужно оставить доступ в сайт админам.

Какие есть еще идеи? Может есть общая практика ?
  • Вопрос задан
  • 2116 просмотров
Решения вопроса 1
slimus
@slimus
Symfony, Golang
На одном из проектом используем такой конфиг:
...
if (-f /var/www/project/deploy) {
    return 503;
  }
  error_page 503 @maintenance;
  location @maintenance {
    rewrite ^(.*)$ /maintenance.html break;
  }
...


В начале деплоя создается файл /var/www/project/deloy, после деплоя удаляется. В проекте есть файл maintenance.html в котором написано что идут технические работы.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы