5

Между IIS 6 и IIS 7.5 (а также версиями до 6, я уверен), есть сайты по умолчанию под сайтами. Я никогда не задавался вопросом, что конкретно означает "Default Website". Похоже, что здесь принято ставить все ваши сайты под Default Website, поэтому я задаюсь вопросом, что же такое "по умолчанию", когда вы размещаете другие сайты под ним. Является ли цель веб-сайта по умолчанию для хранения конфигураций по умолчанию, которые должны быть унаследованы всеми веб-сайтами под ним или есть что-то еще для этого? Другими словами, когда я захочу добавить свой новый веб-сайт в папку "Сайты", а не «Веб-сайт по умолчанию».

К вашему сведению, я перевожу веб-сайты IIS 6 на новый сервер и буду использовать IIS 7.5 в будущем, поэтому этот вопрос относится главным образом к IIS 7.5.

3 ответа3

12

Веб-сайт по умолчанию - это то, что написано в его названии, удобный веб-сайт, который создается при установке 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 довольно неуязвим для взлома. Уязвимости создаются при небрежном изменении значений по умолчанию или при добавлении уязвимых дополнительных продуктов.

1

Стандартные сайты:

  • Получать запросы на порт 80
  • Конкретный заголовок хоста не нужен

Запрос к http://domain.com/test/hello.aspx с хостом: домен получен через порт 80 и отправлен на «веб-сайт по умолчанию».Затем он направляется в корневое приложение и в корневой виртуальный каталог в нем, а физический путь к файлу, обслуживаемому для этого запроса, становится c: inetpubmysitetesthello.aspx.

Индивидуальный сайт:

  • Сайт «MySite» также прослушивает порт 80 всех интерфейсов.
  • только получает запросы, которые указывают «mysite» в заголовке хоста.

Запрос к http://mysite.com/test/hello.aspx с хостом:mysite получен через порт 80 и снова отправлен на «MySite».Он направляется в корневое приложение «/», но в этом приложении он направляется в виртуальный каталог «/test», поскольку часть URL-адреса http://mysite.com/test соответствует пути виртуального каталога.Итак, физический путь к обслуживаемому файлу становится c:inetpubtesthello.aspx.

Примечание. Пул приложений может быть общим как для сайта по умолчанию, так и для пользовательских сайтов.

Надеюсь это поможет!

0

На самом деле в этой конкретной теме произошли некоторые изменения с выпуском IIS 7, который был полностью переработан и переписан IIS. Веб-сайт по умолчанию - это просто первый и самый распространенный "сайт" на вашем сервере IIS. Это правда, что вы можете размещать сайты под своим «Веб-сайтом по умолчанию», но это на самом деле вложенные "приложения". Сайты сопоставляются с определенной папкой, а приложения обычно сопоставляются с определенными вложенными подпапками.

В этой теме много чего, я тоже не могу отдать должное. Но чтобы ответить на ваш непосредственный вопрос, это на самом деле просто имя, "по умолчанию" точно не приходит все последствия, которые приходят на ум. Что касается того, почему вы когда-либо будете создавать несколько сайтов по сравнению с созданием приложений на сайте по умолчанию, больше связано с привязками. «Веб-сайт по умолчанию» использует http-порт 80, например, на практике вы, вероятно, не часто будете открывать другой http-порт для обслуживания веб-страниц, поэтому ваши другие веб-сайты, вероятно, будут вложены в «Веб-сайт по умолчанию». Лично я смотрю на «Веб-сайт по умолчанию», больше похожий на корневой веб-сайт.

На iis.net есть действительно полезная статья на эту тему, в которой вы, возможно, не видели « Общие сведения о сайтах, приложениях и виртуальных каталогах» в IIS 7, хотя, как всегда, она не совсем подходит для «Веб-сайта по умолчанию», о котором идет речь.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .