@sergeyiljin

Как закрыть сайт на техническое обслуживание и вывести страницу «технические работы»?

Есть приложение .NET Core MVC. Хочу его протестировать на виндовом хостинге с IIS и на линукс NGINX. Как мне сделать редирект на страницу "технические работы", когда нужно будет отключить сайт, чтобы залить изменения кода?
  • Вопрос задан
  • 198 просмотров
Решения вопроса 1
@q2digger
сисадмин
Вот пример для nginx
Делаете папку /var/www/maintenance, там index.html - страница с сообщение о тех работах, содержимое на ваш вкус.
Далее делаете файл /etc/nginx/maint.conf , содержимое ниже:
set $maintenance off;

# адреса клиентов, которые все равно должны иметь доступ к сайту, админов например.
if ($remote_addr ~ (192.168.1.1|192.168.1.1)) {
    set $maintenance off;
}

if ($maintenance = on) {
    return 503;
}

error_page 503 @maintenance;

location @maintenance {
    root /var/www/maintenance;
    rewrite ^(.*)$ /index.html break;
}


Теперь в конфигурацию своего виртуального хоста (или хостов) добавляете
include /etc/nginx/maint.conf;

и после того как вы в файле /etc/nginx/maint.conf поменяете переменную
set $maintenance off;
на on и сделаете релоад для сервера
nginx -s reload
конфиг применится и будет показываться страница о тех.работах.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
paran0id
@paran0id
не сисадмин, а девопс
А вы уверены, что тестировать надо прямо на продакшене? Сделайте отдельный сайт, оттестируйте, потом переведите nginx со старого на новый. Сейчас не 2005, копающие человечки вместо сайта уже не в моде.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы