Понадобилось приостановить работу некоторых сайтов, причем временно. Для реализации решил использовать возможность Nginx отдавать нужные страницы ошибок.

Конфиг nginx:

server {
	listen       80;
	server_name  anart.ru;
	
	...
	
	location / {
		return 503; # закрываем сайт на технические работы
	}
	
	# задаем красивую страницу 50x для пятисотых ошибок
	error_page 500 502 503 504 /50x.html;
	location = /50x.html { 
		root /var/www/errors;
	}
    
	...
    
}

Саму страницу 50x.html помещаем в /var/www/errors.

Для примера простая страница:


<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>На сайте ведутся технические работы</title>
        <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
        <meta name="description" content="На сайте ведутся технические работы">
        <style type="text/css">
            body {font-family: "Antic Slab", Arial, Helvetica, sans-serif;}
            .box {
                width: 800px;
                height:200px;
                position: absolute;
                top: 50%;
                left: 50%;
                background-color: #f8f8f8;
                border: 1px solid #e5e4e4;
                text-align: center;
                margin-top: -100px;
                margin-left: -400px;
            }
            h1 {
                color: #614444;
                font-size: 40px !important;
                font-weight: normal !important;
            }

        </style>
    <body>
        <div class="box">
            <h1>Технический перерыв</h1>
            <p >Приносим свои извинения за перебои в работе сайта.<br>
                Наши технические специалисты уже работают над устранением неполадок.</p>
        </div>
    </body>
</html>