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

Как я могу сделать «Скоро» перенаправление на IIS6 для всех, кроме пары определенных IP-адресов?

Мы собираемся провести серьезное обслуживание веб-сайта IIS 6 / ASP (Classic). Мы хотим, чтобы все посетители были перенаправлены на страницу «Скоро будет» (или что-то подобное). Это НЕ должно относиться к нашей команде разработчиков (работающей удаленно), поэтому мы хотели бы указать определенные IP-адреса, которые должны иметь доступ к строящейся площадке.

Как это можно сделать в IIS 6? (При необходимости используйте классический ASP)

Чтобы сделать это без изменения кода, в IIS6 можно сделать следующее:

  1. Запретить доступ ко всем IP-адресам, кроме IP-адресов ваших разработчиков
    (в диспетчере IIS6 перейдите в веб-каталог -> свойства -> Безопасность каталога -> «Ограничения IP-адреса и доменного имени»

  2. Измените ответ об ошибке для http error 403.6, чтобы он указывал на вашу статическую html-страницу «Скоро».
    (В диспетчере IIS6 перейдите в веб-каталог -> свойства -> «Пользовательские ошибки» -> щелкните строку для «403; 6» и отредактируйте местоположение, чтобы указать на ваш html-файл.)

Важный: Ваша html-страница должен быть достаточно большим, иначе многие версии Internet Explorer будут отображать так называемое "дружественное" сообщение об ошибке вместо вашего содержимого. Я считаю, что порог в том, что он должен быть больше 512 байт. Видеть: http://support.microsoft.com/default.aspx?scid=kb;en-us;Q294807

Создать default.asp страница с кодом, подобным следующему:

<% IF Request.ServerVariables("REMOTE_ADDR") = special_ip_address THEN
    Respose.Redirect("/standard_home_page.asp")
  ELSE
    Response.Redirect("/coming_soon.asp")
  END IF %>