Вывести сайт на всеобщее обозрение, но оставить для тестирования ... "Мы не открыты" - PullRequest
4 голосов
/ 06 ноября 2008

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

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

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

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

Ответы [ 6 ]

12 голосов
/ 06 ноября 2008

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

Тогда скажите вашим тестерам, что вы должны перейти на yoursite.com:6666.

.

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

5 голосов
/ 06 ноября 2008

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

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

app_offline.htm

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

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

2 голосов
/ 06 ноября 2008

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

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

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

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

2 голосов
/ 06 ноября 2008

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

1 голос
/ 06 ноября 2008

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

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

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

...