Назад | Перейти на главную страницу

Перенаправлять, когда сервер недоступен для обслуживания, и обратно, когда он работает?

У меня есть основной производственный сервер, на котором размещено несколько доменов, назовите их site1.com, app.site1.com и shop.site1.com (я использую nginx в качестве веб-сервера).

Я хочу перенаправить на другой домен, скажем, maintenance.site2.com, когда основной производственный сервер (site1.com) не работает (для обслуживания, когда я готовлю обновления или когда что-то просто выходит из строя).

Я видел несколько сообщений, в которых упоминались решения в этой области для серверов на базе Windows, однако я запускаю все серверы Linux на нескольких облачных провайдерах (digitalocean и vultr).

К сожалению, компания, в которой я работаю, использует goDaddy в качестве регистратора, и она не только медленная, но и немного запутанная, когда дело доходит до документации. Еще одно замечание: у всех моих облачных провайдеров есть свой собственный DNS, который может помочь в такой конфигурации (которую я не использую в данный момент из чистого страха, что я сломаю какую-то неизвестную службу goDaddy, которой кто-то может или не может быть используя - подумайте LDAP или подобное).

Я единственный участник «технической» инфраструктуры моей компании, и DNS не является моей сильной стороной. Может ли кто-нибудь указать мне направление решения, которое я ищу? Боюсь, у меня просто нет подходящих ключевых слов Google, чтобы найти решение.

Итак, мой вопрос именно таков: когда мой основной производственный сервер не работает, как мне указать свой DNS на простой статический сайт в другом домене, а затем, когда основной домен снова станет активным, указать обратно?

Регистратор DNS и поставщик услуг DNS могут быть разными. Используйте AWS Route53 с аварийная маршрутизация, который работает с серверами AWS и серверами других провайдеров. Это приведет к тому, что ваши клиенты переключатся на другой сервер, когда основной будет отключен. Таким образом, вы не платите за дополнительный сервер для маршрутизации.

Есть и другие службы, которые делают то же самое - я подозреваю, что CloudFlare тоже.

  1. Построить haproxy коробка. Это обеспечит вам высокую доступность, а также множество удобной статистики.
  2. Создайте проверку работоспособности в своем приложении.
  3. Пусть haproxy использует проверку работоспособности.
  4. Поместите два сервера в один бэкэнд-пул. Сервер обслуживания должен иметь backup флаг, поэтому он используется только тогда, когда главный сервер не работает.
  5. Проверьте это с помощью hosts файл на каком-нибудь рабочем столе.
  6. Укажите DNS на haproxy коробка.
  7. Затем вы перестанете беспокоиться об обновлении DNS все время.