Вывести сайт на всеобщее обозрение, но оставить для тестирования... "Мы не открыты"

Завтра мы развернем сайт для клиента, использующего IIS.

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

Если это успешно, я открываю это для всех - если нет, я делаю откат.

Какой самый простой способ поставить знак "Мы ​​не открыты" для широкой публики, а остальные оставить открытыми для тестировщиков?

6 ответов

Решение

Перенаправление через IIS. Создайте новый сайт в IIS и поместите сообщение "Извините за обновление" в Default.aspx. Затем переключите порты между реальным сайтом (из 80 перейдите к чему-то другому (6666)) и сайтом "технического обслуживания" (установите на 80).

Затем скажите своим тестерам, чтобы они зашли на yoursite.com:6666.

Затем переключите реальный сайт обратно на 80 после удаления сайта "обслуживания".

Я подумал, что стоит упомянуть функцию ASP.NET 2.0+ "app offline". (Да, я понимаю, что спрашивающий хочет оставить приложение для тестирования, но я пишу это для более поздних читателей, которые могут прийти сюда с разными потребностями).

Если вы действительно хотите перевести приложение в автономный режим для всех (например, для обслуживания сервера), есть очень простой вариант. Все, что вам нужно сделать в ASP.NET 2.0 и выше, это поместить файл с таким именем:

app_offline.htm

... в корневом каталоге вашего приложения ASP.NET. Поместите туда соответствующее сообщение "извините, вернемся позже". Вот и все. Среда выполнения ASP.NET сделает все остальное.

Подробности в блоге Скотта Гатри.

Запустите еще один "сайт" в IIS, который будет перехватывать заголовок вашего основного сайта. Используйте либо пользовательскую страницу 307/503/404 с надписью "Мы не можем вести обслуживание", либо используйте какое-либо переписывание URL-адресов, чтобы перенаправить людей в один статический файл.

переключите привязку заголовка узла на вашем реальном сайте на что-то другое, например dev.domain.com или testing.domain.com, которое используют ваши разработчики.

Или заблокируйте по IP-адресу, и ваша пользовательская страница "Не авторизованный" сообщит посетителям, что ваше обслуживание.

У вас есть несколько вариантов.

Требовать, чтобы тестеры входили в систему. Вы даже можете скрыть страницу входа, так что вам нужна прямая ссылка, чтобы даже увидеть ее. Затем, для всех людей, которые не вошли в систему, перенаправьте на страницу, которая отображает ваше сообщение.

Некоторые методы, которые я использовал раньше:

  • Проверка подлинности Windows и / или отдельные поддомены для тестирования клиентом.
  • Отключите анонимный доступ к веб-сайту в IIS и дайте своему клиенту комбинацию имени пользователя и пароля для тестирования веб-сайта.
  • Отключите документ по умолчанию в IIS и дайте своему клиенту абсолютный URL-адрес основного индексного файла.

У нас, как правило, есть страница входа в систему и включаемый файл на всех страницах сайта (обычно это соединение с БД, поскольку оно включено во все файлы), который проверяет наличие действительного сеанса вошедшего в систему. Если вы не вошли в систему, вы получите сообщение о том, что сайт закрыт на обслуживание

Другие вопросы по тегам