Веб-сайт по умолчанию - это то, что написано в его названии, удобный веб-сайт, который создается при установке IIS. Он может быть удален и заменен новыми веб-сайтами, но его преимущество в том, что он будет работать "из коробки" со всеми определениями и разрешениями, о которых уже позаботились.
Получение правильных прав доступа к папкам и файлам, возможно, самая большая головная боль при создании нового веб-сайта.
Вот скриншот атрибутов сайта по умолчанию:
Важные атрибуты выше:
Пул приложений . Каждый такой пул - это не что иное, как экземпляр w3wp.exe, по одному на пул (IIS запустит более одного под большой нагрузкой).
Он запускается здесь под учетной записью пользователя DefaultAppPool, которой уже были предоставлены минимально необходимые разрешения для папок на сайте.
Физический путь : это папка, которая будет содержать все файлы сайта (кроме файлов в виртуальных папках). По умолчанию используется C:\inetpub\wwwroot
.
Привязки : Важным является http:*.80
, что означает протокол HTTP на порту 80.
Другие используются, например, для обработки служб WCF и зависят от конфигурации Windows. Важно отметить, что порт 80 не может быть назначен другому сайту, если он назначен этому. Полный синтаксис для записи: protocol/IP_address:port:host_header
, где неуказанные элементы означают "все", так что это значение по умолчанию означает «все IP-адреса, доменные имена и хосты».
Как это работает
IIS прослушивает все указанные порты для запросов, использующих URL общего формата:
protocol://[username:password@]domain[:port]/path/file[?parameters]
Затем запрос направляется на (один) сайт, который обрабатывает указанную комбинацию протокола, домена и порта. Неуказанные элементы имеют свои значения по умолчанию, или браузер может в некоторых случаях запрашивать отсутствующие элементы, такие как имя пользователя и пароль.
Путь, если он указан, обычно добавляется к физическому пути чисто текстовым способом.
Например, URL-адрес http://domain/path/file
для веб-сайта по умолчанию переводится в C:\inetpub\wwwroot\path\file
.
Если имя пути начинается с имени виртуального каталога, который указывает на другую папку, скажем, D:\myWWWroot
, предыдущая часть пути к папке заменяется, так что спецификацией файла будет D:\myWWWroot\remainder-of-path\file
.
Почему веб-сайт по умолчанию существует
Причина его существования заключается просто в том, что слишком много деталей нужно правильно понять при создании в IIS веб-сайта с нуля.
Я уже коснулся прав доступа к файлам и папкам, которые являются основной причиной, по которой можно получить печально известное сообщение «HTTP Error 404.0 - Not Found», когда можно поклясться, что указанный файл существует.
Это происходит, когда у учетной записи пользователя для пула приложений отсутствуют разрешения для какой-либо папки в сгенерированном физическом пути.
Веб-сайт по умолчанию принимает все запросы HTTP, поступающие через порт 80, и отвечает на все IP-адреса, назначенные компьютеру, на котором он установлен, преобразовывая все URL-адреса HTTP в физический путь к файлу в C:\inetpub\wwwroot
.
Намного проще начать с веб-сайта по умолчанию, изменяя его атрибуты по мере необходимости, а не создавать все с нуля, особенно если у вас мало опыта с IIS 7+.
Тот факт, что все необходимые учетные записи пользователей и разрешения для C:\inetpub
предопределены, может предотвратить много озадаченных царапин на голове.
Это также важно для безопасности, потому что по умолчанию IIS довольно неуязвим для взлома. Уязвимости создаются при небрежном изменении значений по умолчанию или при добавлении уязвимых дополнительных продуктов.