Как перевести веб-сервер в автономный режим для обслуживания, если это один сервер?

Как перевести веб-сервер в автономный режим для обслуживания, если это один сервер?

У меня есть сервер Windows 2008R2, на котором размещены SQL Server и IIS для нашей компании.

Мне приходится время от времени отключать его для обновлений и резервного копирования.

Это установка

Выделенный сервер Windows 2008R2 размещает мой веб-сервер VPS Windows 2008R2 (который мне нужно отключить).

Когда я отключу этот сервер, мне нужно будет указать, что домен в настоящее время находится на обслуживании, а не что хост не найден.

Домен указывает прямо на мой веб-сервер, поэтому, когда он падает, все, что они видят, это host not found. Домен размещен на godaddy, если это поможет.

Есть ли способ обойти это? У кого-нибудь есть предложения?

решение1

Обойти это без добавления еще одного сервера невозможно... Существует множество вариантов, но все они сводятся к избыточности сервера в той или иной форме.

решение2

На данный момент ваша конфигурация такова:

DNS -> Your Server

Поэтому единственное, что вы можете сделать, — это перенаправить домен:

DNS -|   Your Server
     |-> Some Other Server Hosting 'This is Down'

К сожалению, DNS кэшируется так агрессивно, что может пройти довольно много времени, прежде чем обновление, либо для того, чтобы закрыть ваш сайт, либо для того, чтобы снова его запустить, распространится повсюду. Короткий TTL в записи DNS помог бы, но это немного ухудшит производительность.

Лучшим решением в целом будет установка обратного прокси-сервера или балансировщика нагрузки перед вашей машиной:

DNS -> Load Balancer -> Your Server

Таким образом, вы можете изменить, куда указывает балансировщик нагрузки, или даже заставить сам балансировщик нагрузки размещать сообщение «This is Down». Это также открывает вам более надежную конфигурацию, где у вас есть более одного сервера:

DNS -> Load Balancer +--> Server 1
                     +--> Server 2

В этой конфигурации вы сможете отключать только одну машину за раз и не останавливать работу своего сайта вообще.

Кстати, последний вариант, если вам не нужно перезагружать машину или вас не беспокоит, что сайт будет по-прежнему недоступен во время перезапуска, — это сжать все это на одной машине. Запустите Nginx на машине, пусть он будет проксировать IIS как обычно, но при необходимости покажет сообщение об ошибке.

решение3

Вы можете разместить haproxy перед своим сервером Windows, настроить его на проверку статуса хоста и настроить страницу «Служба недоступна».

Связанный контент