Iis включение поддержки открытых соединений http


Содержание

Настройка HTTP/2 на Windows Server

Особенности настройки HTTP/2

  • Поддержка протокола HTTP/2 на Windows осуществляется с версии 10 Internet Information Services (IIS), который входит в состав Windows Server 2020 и Windows 10.
  • В большинстве популярных браузеров (Firefox, Chrome, Safari, Opera, IE, Edge) использование протокола http/2 возможно только поверх TLS (HTTPS). Хотя данный протокол работает и без шифрования. Это сделано для обеспечения безопасности соединения.
  • Веб-сервер IIS не требует ни каких дополнительных настроек для включения протокола http/2, все что вам нужно для его работы – это настроить привязку https и сертификат для вашего сайта.

Настройка Windows Server

Включение роли IIS

  1. Запускаем Диспетчер серверов и нажимаем Добавить роли и компоненты:
  • В появившемся окне нажимаем Далее.
  • Выбираем Установка ролей или компонентов, нажимаем Далее:
  • Выбираем сервер, на котором мы будем разворачивать IIS. Нажимаем Далее.
  • Ставим галочку напротив Веб-сервер IIS, в появившемся окне нажимаем Добавить компоненты, после этого Далее, пока не станет активной Установить.
  • Нажимаем Установить.
  • По завершению установки нажимаем Закрыть. Перезагрузка не требуется.
  • Настройка веб-сервера IIS

    1. Запускаем Диспетчер служб IIS:

    Создаем сертификат. Для правильной работы сайта необходимо запросить сертификат из доверенного центра сертификации, но в тестовых целях достаточно создать самозаверенный сертификат. Для этого в главном окне консоли нажимаем по Сертификаты сервера:

    И кликаем по Создать самозаверенный сертификат:

    В появившемся окне вводим имя (любое, желательно такое же, как и у сайта), выбираем пункт Размещение веб-служб, нажимаем ОК:

    Переходим к своему сайту (в нашем случае, сайт по умолчанию — Default Web Site):

    И настраиваем привязку (bindings):

    В появившемся окне нажимаем Добавить. Поля заполняем следующим образом:
    (Тип – https, IP-адрес – Все назначенные, Порт – 443, SSL-сертификат – созданный нами ранее сертификат)

  • Нажимаем кнопки ОК и Закрыть.
  • Теперь при обращении пользователя к сайту по HTTPS он будет работать по протоколу http/2.

    В Windows 10 IIS включается в Программы и компонентыВключение или отключение компонентов Windows — поставить галочку напротив Службы IIS — нажать ОК.

    Тестирование

    Для проверки работоспособности настройки можно воспользоваться плагином для браузера «HTTP/2 and SPDY indicator».

    Устанавливаем плагин и заходим на наш сайт. Если HTTP/2 работаем правильно, значок станет синим:

    Настройка HTTP/2 без SSL

    Это не осуществить, так как популярные браузеры не работают по HTTP/2 без шифрования.

    Iis включение поддержки открытых соединений http

    Опубликовано: Февраль 2012 г.

    Обновлено: Февраль 2012 г.

    Назначение: Windows Server 2012, Windows Server 2012 R2

    В этом документе описан процесс установки веб-сервера IIS и его настройки для обслуживания статического содержимого. Статическим содержимым является веб-страница (HTML), которая доставляется пользователю в том виде, в котором она хранится. И наоборот, динамическое содержимое формируется веб-приложением, таким как ASP.NET, классическим приложением ASP или приложением PHP. Статическое содержимое отображает одинаковые сведения для всех пользователей; динамическое содержимое может отображать сведения о конкретном пользователе, например имя пользователя.

    Веб-сервер статического содержимого представляет собой самую простую конфигурацию служб IIS для поддержки веб-сайтов HTML. Веб-сервер статического содержимого можно использовать для размещения внутренних или внешних (общедоступных) веб-сайтов. При установке IIS 8 по умолчанию устанавливаются все модули IIS, необходимые для поддержки веб-серверов со статическим содержимым. Установка по умолчанию включает возможность обслуживания статических HTML-файлов, документов и изображений. IIS 8 поддерживает использование документов по умолчанию, просмотра каталогов, ведения журналов и анонимного доступа для сервера со статическим содержимым.

    Содержание документа

    Чтобы получить максимум от этого учебника, необходимо иметь компьютер, который работает под управлением одной из следующих операционных систем:

      Windows Server® 2012

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

    Эту процедуру можно также выполнить с помощью пользовательского интерфейса Windows или командной строки.

    На начальной странице щелкните плитку Диспетчер сервера, а затем нажмите кнопку ОК.

    В диспетчере сервера выберите Панель мониторинга и щелкните Добавить роли и компоненты.

    В мастере добавления ролей и компонентов на странице Перед началом нажмите кнопку Далее.

    На странице Выбор типа установки выберите Установка ролей или компонентов и нажмите кнопку Далее.

    На странице Выбор целевого сервера выберите Выбор сервера из пула серверов, выберите имя своего компьютера и нажмите кнопку Далее.

    На странице Выбор ролей сервера укажите Веб-сервер (IIS) и нажмите кнопку Далее.

    На странице Выбор компонентов просмотрите выбранные по умолчанию компоненты, а затем нажмите кнопку Далее.

    На странице Роль веб-сервера (IIS) нажмите кнопку Далее.

    На странице Выбор служб ролей просмотрите выбранные службы и нажмите кнопку Далее.

    Примечание
    Установите службы ролей IIS 8 по умолчанию для веб-сервера статического содержимого.

    На странице Подтверждение выбранных элементов для установки подтвердите свой выбор, а затем нажмите кнопку Установить.

    На странице Ход выполнения установки убедитесь, что установка роли веб-сервера (IIS) и требуемых служб ролей успешно завершена, а затем нажмите кнопку Закрыть.

    Чтобы убедиться, что службы IIS успешно установлены, введите в веб-браузере следующее:

    http://localhost

    Должна отобразиться страница приветствия служб IIS по умолчанию.

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

    В панели управления выберите Программы, а затем Включение и отключение компонентов Windows.

    В диалоговом окне Компоненты Windows щелкните Службы IIS, а затем нажмите кнопку ОК.

    Будет установлен набор компонентов IIS 8 по умолчанию. Установите только компоненты по умолчанию для веб-сервера статического содержимого.

    Чтобы убедиться, что службы IIS успешно установлены, введите в веб-браузер следующее:

    http://localhost

    Должна отобразиться страница приветствия служб IIS по умолчанию.

    В командную строку с повышенными привилегиями или в скрипт введите следующую команду:

    Start /w pkgmgr /iu:IIS-WebServerRole;IIS-WebServer;IIS-CommonHttpFeatures;IIS-StaticContent;IIS-DefaultDocument;IIS-DirectoryBrowsing;IIS-HttpErrors;IIS-HealthAndDiagnostics;IIS-HttpLogging;IIS-LoggingLibraries;IIS-RequestMonitor;IIS-Security;IIS-RequestFiltering;IIS-HttpCompressionStatic;IIS-WebServerManagementTools;IIS-ManagementConsole;WAS-WindowsActivationService;WAS-ProcessModel;WAS-NetFxEnvironment;WAS-ConfigurationAPI

    На этом шаге поясняется, как добавить веб-сайт для служб IIS с помощью пользовательского интерфейса диспетчера служб IIS или путем запуска команд Appcmd.exe в окне командной строки

    Откройте диспетчер служб IIS.

      При работе в Windows Server 2012 на начальной странице щелкните Диспетчер сервера, а затем нажмите кнопку ОК. В диспетчере сервера выберите меню Сервис, а затем выберите Диспетчер служб IIS.

    При работе в Windows 8 на начальной странице введите Панель управления, а затем в результатах поиска щелкните значок Панель управления. На экране Панель управления выберите Системы и безопасность, затем Администрирование, после чего выберите Диспетчер служб IIS.

    На панели Соединения правой кнопкой мыши щелкните узел Сайты, а затем выберите Добавить веб-сайт.

    В диалоговом окне Добавление веб-сайта в поле Имя сайта введите понятное имя веб-сайта.

    Щелкните Выбрать, если нужно выбрать пул приложений, отличный от пула, указанного в поле Пул приложений. В диалоговом окне Выбор пула приложений в списке Пул приложений выберите пул приложений, а затем нажмите кнопку ОК.

    В поле Физический путь введите физический путь к папке веб-сайта или нажмите кнопку обзора (. ), чтобы перейти к файловой системе для поиска папки.

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

    В списке Тип выберите протокол для веб-сайта.

    . Если необходимо указать статический IP-адрес для веб-сайта (по умолчанию для этого параметра задано Все неназначенные), введите IP-адрес в поле IP-адрес.

    В поле Порт введите номер порта.

    Дополнительно введите имя заголовка узла для веб-сайта в поле Заголовок узла.

    Если не следует вносить изменения в параметры веб-сайта и следует сделать его незамедлительно доступным, установите флажок Запустить веб-сайт немедленно.

    Нажмите кнопку ОК.

    В командной строке с повышенными привилегиями или в скрипте используйте следующий синтаксис:

    Примечание
    Чтобы этот синтаксис работал, необходимо либо находиться в следующем каталоге, либо иметь каталог в пути: %windir%\system32\inetsrv

    appcmd add site /name:string /id:цел_чис_без_зн /physicalPath:строка /bindings:строка

    Переменная name является именем, а переменная id — положительным целым числом, которое следует назначить сайту. Переменные name и id являются единственными переменными, которые требуются для добавления сайта с помощью команды appcmd. Но при добавлении сайта без задания значений атрибутов bindings и physicalPath сайт будет невозможно запустить.

    Переменная physicalPath является абсолютным путем к содержимому сайта в файловой системе.

    Переменная bindings содержит сведения, используемые для доступа к сайту. Она должна иметь вид протокол/IP_адрес:порт:заголовок_узла. Например, если указать для веб-сайта привязку http/*:85: , то это будет означать, что он прослушивает HTTP-запросы на порту 85 для всех IP-адресов и доменных имен (также известных как заголовки узлов или имена узлов). С другой стороны, привязка http/*:85: marketing.contoso.com настраивает сайт для прослушивания HTTP-запросов на порту 85 для всех IP-адресов и доменного имени marketing.contoso.com.

    Чтобы добавить веб-сайт contoso с идентификатором 2 и содержимым в папке c:\contoso, который прослушивает HTTP-запросы на порту 85 для всех IP-адресов и доменного имени marketing.contoso.com, введите в командную строку следующее:

    appcmd add site /name:contoso /id:2 /physicalPath:c:\contoso /bindings:http/*:85:marketing.contoso.com

    Анонимный доступ предоставляет пользователям доступ к общедоступным зонам веб-сайта без запроса имени пользователя и пароля. Анонимную проверку подлинности можно настроить с использованием учетной записи анонимного пользователя по умолчанию (IUSR) или можно настроить учетную запись локального пользователя для анонимных пользователей.

    В представлении Просмотр возможностей диспетчера служб IIS дважды щелкните пункт Проверка подлинности.

    На странице Проверка подлинности выберите Анонимная проверка подлинности.

    Для установки субъекта безопасности (учетных данных пользователя), с использованием которого анонимные пользователи должны подключаться к веб-сайту, на панели Действия нажмите кнопку Изменить.

    В диалоговом окне Изменение учетных данных анонимной проверки подлинности выберите один из следующих параметров.

      Если нужно настроить определенную учетную запись пользователя, которую службы IIS используют для доступа к вашему сайту или приложению, выберите Указанный пользователь. Затем нажмите Установить, чтобы открыть диалоговое окно Задание учетных данных, и введите имя пользователя и пароль для удостоверения. Затем нажмите кнопку ОК.

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

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

    Нажмите кнопку ОК, чтобы закрыть диалоговое окно Изменение учетных данных анонимной проверки подлинности.

    Используйте следующий синтаксис, чтобы изменить учетную запись по умолчанию для анонимного доступа:

    appcmd set config /section:anonymousAuthentication /userName:строка /password:строка

    Переменная username является учетной записью, используемой службами IIS для анонимного доступа, а переменная password — это пароль, который хранится в файле конфигурации по умолчанию в зашифрованном виде. Например, чтобы использовать учетную запись Moe и пароль pssword1 для анонимного доступа, в командной строке введите следующее:

    appcmd set config /section:anonymousAuthentication /userName:Moe /password:pssword1

    Если клиентский запрос к веб-сайту не содержит имени документа, службы IIS ищут файл, имя которого определено в качестве документа по умолчанию. Обычно именем документа по умолчанию является Default.htm. Можно определить список имен документов по умолчанию в порядке старшинства.

    В представлении Просмотр возможностей диспетчера служб IIS дважды щелкните пункт Документ по умолчанию.

    На панели Действия нажмите кнопку Добавить.

    В поле Имя введите имя файла, которое необходимо добавить в список документов по умолчанию, затем нажмите кнопку ОК. Это имя файла будет добавлено в верхнюю часть списка документов по умолчанию.

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

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

    Чтобы добавить имя файла в список документов по умолчанию, используйте следующий синтаксис:

    appcmd set config /section:defaultDocument /+files.[value=’строка‘]

    Переменная string является добавляемым в список именем файла. Например, чтобы добавить файл home.html в список документов по умолчанию, в командной строке введите следующее:

    appcmd set config /section:defaultDocument /+files.[value=’home.html’]

    Чтобы удалить файл home.html из списка документов по умолчанию, в командной строке введите следующую команду и нажмите клавишу ВВОД:

    appcmd set config /section:defaultDocument /-files.[value=’home.html’]

    При необходимости можно настроить на веб-сервере сжатие статического содержимого с целью более эффективного использования пропускной способности и повышения производительности вашего веб-сайта.

    В представлении Просмотр возможностей диспетчера служб IIS дважды щелкните пункт Сжатие.

    Выберите Включить сжатие статического содержимого для сжатия службами IIS статического содержимого.

    В поле Статическое содержимое настройте следующие параметры:

      Выберите Сжимать только файлы размером более (в байтах) и введите минимальный размер файла, при котором файлы будут сжиматься службами IIS (необязательный шаг). Размер по умолчанию — 256 байт.

    В текстовом поле Каталог кэша введите путь к локальному каталогу или нажмите кнопку обзора () для поиска нужного каталога. После сжатия статический файл хранится во временной папке до истечения срока действия или до изменения его содержимого. Временная папка должна находиться на локальном диске в разделе, отформатированном файловой системой NTFS. Этот каталог не может подвергаться сжатию, и он не должен быть общим.

    Кроме того, можно установить флажок Лимит места на диске на пул приложений (в МБ) и ввести максимальный размер дискового пространства (в мегабайтах), отводимого для каждого пула приложений, которое будет использоваться службами IIS при сжатии статического содержимого. Например, если существует 20 пулов приложений на сервере и параметр Лимит места на диске равен 100, максимальный объем дискового пространства будет равен 2 ГБ. Если выбрать параметр Лимит места на диске на пул приложений (в МБ) и ввести в текстовом поле определенное значение, то при достижении порогового значения службы IIS автоматически очистят временную папку в соответствии с правилом удаления наиболее давно использовавшихся файлов. Значение по умолчанию — 100 МБ для каждого пула приложений.

    Нажмите кнопку Применить на панели Действия.

    Чтобы включить сжатие HTTP статического содержимого, в командной строке введите следующую команду и нажмите клавишу ВВОД:

    appcmd set config /section:urlCompression /doStaticCompression:True

    Чтобы настроить параметры сжатия статического содержимого, используйте следующий синтаксис:

    appcmd set config /section:urlCompression /minFileSizeforComp:цел_чис /directory:строка /maxDiskSpace:цел_чис

    Переменная minFileSizeforComp служит для задания минимального размера файла в байтах, подлежащего сжатию. Значение по умолчанию — 256. Переменная directory служит для указания каталога, где временно сохраняются и кэшируются сжатые версии статических файлов. По умолчанию используется следующая папка:

    %SystemDrive%\inetpub\temp\IIS Temporary Compressed Files

    Переменная maxDiskSpace служит для определения максимального количества места на диске (в мегабайтах) для каждого пула приложений, которое будет использоваться службами IIS при сжатии статического содержимого. Значение по умолчанию — 100 МБ для каждого пула приложений.

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

      Чтобы облегчить устранение проблем или оптимизацию производительности веб-сервера, настройте ведение журнала служб IIS. Инструкции см. в статье Настройка ведения журнала в IIS.

    Для повышения защищенности веб-сервера настройте фильтрацию запросов. Инструкции см. в статье Настройка фильтрации запросов в IIS.

    Iis включение поддержки открытых соединений http

    Обновлен: Ноябрь 2007

    Если веб-приложение ASP.NET размещено в IIS 7.0, то параметры конфигурации для приложения можно настроить различными способами. К ним относятся:

    Использование служб IIS Manager. Дополнительные сведения см. в разделах Практическое руководство. Открытие диспетчера IIS и Диспетчер служб IIS (Internet Information Services (IIS) Manager).

    Непосредственное редактирование файла Web.config. Это можно сделать в Visual Studio или Visual Web Developer или используя текстовый редактор.

    Использование средства командной строки служб IIS 7.0 (Appcmd.exe). Оно позволяет указать параметры конфигурации IIS и параметры конфигурации веб-приложения. Дополнительные сведения см. в разделе средство командной строки IIS 7.0 (IIS 7.0 Command-Line Tool).

    Использование инструментария управления Windows (WMI). В пространстве имен WebAdministration поставщика WMI IIS 7.0 содержатся классы и методы, позволяющие создавать сценарии, использующиеся при администрировании веб-узлов, веб-приложений и связанных с ними объектов и свойств. Дополнительные сведения см. в разделе IIS 7.0: WMI.

    Службы IIS 7.0 имеют модульную архитектуру, позволяющую указать, какие модули составляют используются веб-сервером. После установки IIS 7.0 по умолчанию многие модули выключены. При работе с веб-сайтами ASP.NET может понадобиться включение следующих модулей:

    Модуль управления совместимостью с IIS 6, позволяющий Visual Studio использовать вызовы метабазы для взаимодействия с хранилищем конфигураций IIS 7.0.

    Модуль проверки подлинности Windows, позволяющий проводить отладку веб-приложений в Visual Studio.

    В данном пошаговом руководстве будут заданы параметры конфигурации с использованием диспетчера IIS Manager, а затем можно будет увидеть, как параметры отражаются в файле Web.config веб-приложения. В данном пошаговом руководстве представлены следующие задачи:

    Создание настраиваемого модуля управляемого кода и помещение модуля в каталог App_Code веб-приложения.

    Регистрация настраиваемого модуля с использованием диспетчера IIS Manager.

    Добавление настраиваемого заголовка HTTP с использованием диспетчера IIS Manager.

    В этом пошаговом руководстве функциональные возможности модуля не важны. Цель этого пошагового руководства — демонстрация интеграции модуля в конвейер запросов, а также влияния настройки приложения с помощью диспетчера IIS Manager на файл Web.config.

    Для выполнения этого пошагового руководства потребуется:

    Службы IIS 7.0, установленные и выполняющиеся в ОС Windows Vista или в ОС Windows Server 2008.

    По меньшей мере один пул приложений, выполняемый в интегрированном режиме IIS 7.0.

    Модуль Совместимость управления IIS 6 , включенный в IIS 7.0.

    Visual Studio 2008.

    Платформа .NET Framework, версия 3.0 или более поздняя версия.

    Административные разрешения на локальном компьютере.

    Средство для проверки HTTP-запросов и ответов между локальным компьютером и веб-серверами, например, средство Fiddler, доступное на веб-узле Fiddler Web Debugging Proxy.

    Fiddler — это стороннее средство, не поддерживаемое Microsoft.

    Для начала потребуется создать новый веб-узел.

    Создание нового веб-узла

    В Visual Studio нужно создать новый локальный веб-узел HTTP с именем WalkthroughIIS7 .

    Дополнительные сведения о создании локального веб-узла IIS см. в разделе Пошаговое руководство. Создание локального веб-узла IIS в Visual Web Developer .

    В меню Пуск последовательно выберите пункты Все программы , Стандартные и Выполнить .

    В поле Открыть введите inetmgr и нажмите кнопку ОК .

    Примечание.

    Если включен контроль учетных записей пользователей (UAC), то при попытке доступа к службам IIS Manager может быть отображено сообщение. При появлении данного сообщения нажмите кнопку Продолжить . Дополнительные сведения см. в разделе Контроль учетных записей (User Account Control).

    Убедитесь, что веб-узел находится в пуле приложений, выполняемом в интегрированном режиме.

    Сведения об задании режима веб-приложения см. в разделе Настройка режима обработки запросов для пула приложений (Configure the Request-Processing Mode for an Application Pool).

    Теперь можно создать настраиваемый HTTP-модуль.

    Создание настраиваемого HTTP-модуля

    В обозревателе решений Visual Studio щелкните правой кнопкой мыши узел веб-проекта и выберите пункт Добавить новый элемент .

    Откроется диалоговое окно Добавление нового элемента .

    Под заголовком Установленные шаблоны Visual Studio выберите Класс .

    Выберите предпочитаемый язык программирования.

    Для имени класса введите CustomModule и нажмите Добавить .

    Если веб-узел еще не содержит папки App_Code, отобразится сообщение с запросом подтверждения помещения класса в папку App_Code. Если это так, нажмите кнопку Да .

    В файле класса удалите существующий код и замените его следующим кодом:

    Этот код выполняет следующие действия:

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

    Определяет обработчик событий для события BeginRequest экземпляра HttpApplication . Обработчик событий определяет настраиваемый заголовок, добавляемый к коллекции заголовка ответа.

    Добавляет обработчик к конвейеру запросов для уведомления в методе Init модуля.

    Поскольку класс реализует интерфейс IHttpModule , класс должен реализовать метод Init и метод Dispose . Метод Dispose в этом модуле не имеет функциональных возможностей, но в нем можно при необходимости реализовать логику удаления.

    В меню Построение выберите команду Построить веб-узел , чтобы убедиться, что ошибки в модуле отсутствуют.

    В качестве последней задачи в этом подразделе нужно создать страницы ASP.NET и HTML, используемые позднее в этом пошаговом руководстве для проверки настраиваемого модуля.

    Создание тестовых страниц ASP.NET и HTML

    Добавьте новую однофайловую веб-страницу ASP.NET с именем ASPXpage.aspx в корневую папку приложения.

    Удалите существующую разметку и замените ее на следующую:

    Добавьте новую HTML-страницу с именем HTMLPage.htm в корневую папку веб-приложения.

    Добавьте следующую разметку на HTML-страницу:

    Сохраните все изменения.

    Запустите по отдельности страницу ASPXpage.aspx и страницу HTMLpage.htm, чтобы убедиться в возможности их просмотра в обозревателе.

    Примечание.

    Не закрывайте приложение Visual Studio. Позднее потребуется вернуться к этому приложению, чтобы проверить изменения конфигурации, осуществленные с помощью диспетчера IIS Manager.

    На этом этапе страницы выполняются, но не вызывают настраиваемый модуль. В следующей процедуре необходимо добавить настраиваемый модуль к конвейеру запросов.

    В этом разделе потребуется использование диспетчера IIS Manager для изменения нескольких параметров конфигурации для приложения IIS. Необходимо зарегистрировать настраиваемый модуль, добавить настраиваемый заголовок и отключить статическое сжатие.

    Регистрация настраиваемого модуля управляемого кода

    В меню Пуск последовательно выберите пункты Все программы , Стандартные и Выполнить .

    В поле Открыть введите inetmgr и нажмите кнопку ОК .

    Примечание.

    Если включен контроль учетных записей пользователей (UAC), то при попытке доступа к службам IIS Manager может быть отображено сообщение. При появлении данного сообщения нажмите кнопку Продолжить . Дополнительные сведения см. в разделе Контроль учетных записей (User Account Control).

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

    Разверните папку Узлы .

    Выберите веб-узел WalkthroughIIS7 . В Windows Server 2008, если веб-приложение является приложением веб-узла, сначала разверните этот веб-узел, а затем выберите WalkthroughIIS7 .

    По умолчанию центральная часть диспетчера IIS Manager отображает параметры конфигурации веб-сервера по областям. Для веб-приложения WalkthroughIIS7 существуют две области: ASP.NET и IIS .

    В разделе IIS центральной области дважды щелкните значок Модули .

    В области сведений Модули в центральной области будут показаны все модули, настроенные в данный момент для IIS.

    В области Действия щелкните Добавить управляемый модуль .

    Откроется диалоговое окно Добавление управляемого модуля .

    Введите CustomModule в поле Имя .

    Именем может быть любое слово или фраза, описывающая модуль. В этом пошаговом руководстве будет использовано только имя модуля.

    В списке Тип выберите или введите полное имя управляемого типа для модуля.

    Тип CustomModule появится в списке, поскольку конфигурация IIS включает любые классы в папке App_Code, реализующие IHttpModule .

    Убедитесь, что флажок Вызывать только по запросу приложений ASP.NET или управляемых обработчиков снят.

    В данном пошаговом руководстве необходимо, чтобы модуль был применен ко всем запросам в конвейере, а не только к запросам ASP.NET.

    Нажмите кнопку ОК .

    Модуль управляемого кода добавляется к списку модулей. Возможно, потребуется прокрутить или пересортировать список, чтобы увидеть добавленный модуль.

    Добавление настраиваемого заголовка ответа

    В левой области диспетчера IIS Manager щелкните имя узла WalkthroughIIS7 , чтобы отобразить основную область конфигурации для узла.

    В центральной области в разделе параметров IIS дважды щелкните значок Заголовки ответов HTTP .

    Подробные сведения функции Заголовки ответов HTTP будут отображены в центральной области. В ней будут показаны все определенные в данный момент заголовки ответов HTTP.

    В области Действия щелкните Добавить .

    Откроется диалоговое окно Добавить HTTP-заголовок ответа .

    В текстовом поле Имя введите CustomHeader1 .

    Именем может быть любое слово или фраза, описывающая заголовок.

    В текстовом поле Значение введите значение SampleHeader .

    Теперь статическое сжатие будет отключено. Это препятствует сжатию статического содержимого, например страниц HTML.

    Отключение статического сжатия

    Щелкните имя узла WalkthroughIIS7 в левой области, чтобы отобразить основную область конфигурации узла в центральной области.

    В центральной области диспетчера IIS Manager дважды щелкните значок Сжатие в разделе параметров IIS .

    Подробные сведения функции Сжатие будут отображены в центральной области.

    Убедитесь, что флажок Включить сжатие статического содержимого не установлен.

    В данном пошаговом руководстве были выполнены задачи, связанные с изменением параметров конфигурации с помощью диспетчера IIS Manager. В этой процедуре будут просмотрены изменения в файле Web.config приложения.

    Проверка регистрации модуля в файле Web.config

    Вернитесь к приложению Visual Studio и к приложению WalkthroughIIS7 .

    В обозревателе решений щелкните правой кнопкой мыши имя веб-узла и выберите команду Обновить папку .

    Это приведет к тому, что представление папки веб-узла в Visual Studio будет синхронизировано с папкой и файлами на диске.

    Если приложение изначально не содержало файла Web.config, то теперь у веб-приложения будет файл Web.config. Если приложение уже содержало файл Web.config, то в файл будут внесены изменения.

    В Обозревателе решений дважды щелкните файл Web.config, чтобы просмотреть его содержимое.

    Секция system.webServer содержит изменения в параметрах конфигурации, внесенные с помощью диспетчера IIS Manager. В секции system.webServer содержатся следующие дочерние элементы:

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

    Элемент httpProtocol , определяющий настраиваемый заголовок ответа.

    Элемент urlCompression , отключающий статическое сжатие.

    Секция system.webServer будет выглядеть примерно так:

    Дополнительные сведения о секции system.webServer см. в разделе Использование конфигурации ASP.NET и в разделе IIS 7.0: system.webServer (IIS Settings Schema) (IIS 7.0: system.webServer (схема параметров IIS)).

    Службы IIS 7.0 имеют интегрированный конвейер запросов. Запросы для всех ресурсов приложения (например, для ASPX-страницы или HTM-страницы) могут вызывать уведомления конвейера в модуле управляемого кода, как и в управляемом модуле, созданном в ходе этого пошагового руководства.

    Примечание.

    При настройке модуля управляемого кода с помощью диспетчера IIS Manager не был выбран параметр Вызывать только по запросу приложений ASP.NET или управляемых обработчиков . Если бы был выбран этот параметр, то настраиваемый модуль получал бы уведомления конвейера только для ресурсов ASP.NET и не получал бы для статических ресурсов, таких как HTML-файлы.

    Проверка применения настраиваемого модуля ко всем ресурсам

    В Visual Studio откройте страницу ASPXpage.aspx и нажмите сочетание клавиш CTRL + F5 для отображения страницы в обозревателе.

    Настраиваемый заголовок, определенный в модуле, отобразится в обозревателе. На странице ASP.NET невозможно получить доступ к настраиваемому заголовку, определенному IIS, поскольку сведения о заголовке добавляются после передачи содержимого страницы в поток. Однако можно подтвердить установку заголовка с использованием средства, отслеживающего трафик HTTP, например, Fiddler.

    Откройте средство наблюдения за трафиком HTTP и обновите страницу ASPXpage.aspx в обозревателе.

    Примечание.

    Если URL-адрес для страницы ASPXpage.aspx использует localhost, измените localhost на имя компьютера, на котором установлены службы IIS 7.0. В типовом сценарии разработки это тот же компьютер, на котором выполняется Visual Studio.

    Убедитесь, что CustomHeader1 и CustomHeader2 появляются в коллекции заголовков ответа.

    Просмотрите HTMLPage.htm в обозревателе.

    Убедитесь, что CustomHeader1 и CustomHeader2 появляются в коллекции заголовков ответа.

    Это пошаговое руководство предоставило введение в настройку ASP.NET в IIS 7.0. Параметры конфигурации для веб-сервера IIS 7.0 и для ASP.NET объединены в один файл конфигурации, который можно редактировать с использованием одного интерфейса администрирования.

    Может также возникнуть необходимость узнать об изменении других параметров в диспетчере IIS Manager и о том, как изменения отражаются в файле конфигурации. Дополнительные сведения см. в разделе Internet Information Services (IIS).

    unixforum.org

    Форум для пользователей UNIX-подобных систем

    • Темы без ответов
    • Активные темы
    • Поиск
    • Статус форума

    Решено: Apache, запретить поддержку открытых соединений HTTP ((IE по http не качает файлы > 2 Гб))

    Модератор: SLEDopit

    Решено: Apache, запретить поддержку открытых соединений HTTP

    Сообщение Encore » 03.06.2009 12:04

    Для обходного решения проблемы можно настроить веб-узел, предназначенный для загрузки файлов большого размера. Для этого отключите параметр Разрешить поддержку открытых соединений HTTP для веб-узла, размещенного на сервере IIS (Internet Information Services). Чтобы отключить этот параметр, выполните указанные ниже действия.

    1. Откройте диспетчер IIS.
    2. Щелкните правой кнопкой мыши веб-узел, который необходимо настроить, и выберите пункт Свойства.
    3. Снимите флажок Разрешить поддержку открытых соединений HTTP, расположенный на вкладке Веб-узел, и нажмите кнопку ОК.

    * Параметр Разрешить поддержку открытых соединений HTTP позволяет клиенту, который подключается к веб-серверу, повторно использовать текущий сеанс TCP/IP при загрузке всего содержимого с веб-сервера. Если этот параметр отключить, клиент Internet Explorer сможет загружать файлы размером до 4 ГБ. Однако при этом клиент будет вынужден устанавливать с веб-сервером новый сеанс TCP/IP для каждого объекта содержимого, загружаемого с веб-страницы. Кроме того, при этом для сервера и клиента возрастает нагрузка TCP/IP, что продлевает загрузку страницы.

    Можно ли, и если можно то как, реализовать это (запретить поддержку открытых соединений HTTP)?

    Служба WWW

    Вкладки свойств веб-сайта

    Для открытия окна Properties (Свойства) отдельного веб-сайта щелкните правой кнопкой мыши на его имени в левой части консоли MMC и выберите Properties. Рассмотрим вкладки с информацией, которые отображаются при доступе к свойствам сайта BeerBrewers (Пивовары).

    Вкладка Web Site (Веб-узел)

    При открытии окна Properties (Свойства) для любого веб-сайта по умолчанию отображается вкладка Web Site (Веб-узел) (см. рис. 2.2). В ней вводится адрес IP и информация о портах, а также настраивается время простоя соединения и ведение журнала. Во вкладке Web Site необходимо настроить следующие опции.

    Создание описания

    Информация, введенная в поле Description (Описание), отображается в столбце Description консоли IIS MMC. В этом поле можно определить веб-сайт, указав информативное имя. Это имя скрыто от пользователей веб-сайта.

    Настройка адреса для веб-сайта

    Каждый веб-сайт должен иметь уникальный адрес для передачи ассоциированного с ним трафика. Выделить веб-сайт среди других можно тремя способами: посредством IP-адреса, TCP-порта и имени заголовка узла. С точки зрения адресации возможно использование любой комбинации этих данных, но хотя бы одна комбинация должна быть уникальной для компьютера, на котором располагается сайт.

    IP-адрес (IP-адрес). Позволяет установить главный IP-адрес для веб-сайта. Выберите IP-адрес в ниспадающем меню либо введите его вручную. Выбор варианта (All Unassigned) позволяет настроить веб-сайт на соответствие любому IP-адресу компьютера, не занятому другим веб-сайтом.

    Совет. При вводе IP-адреса вручную проверка наличия такого IP-адреса в системе не выполняется. Вы можете ввести произвольный адрес. Проверяется лишь его правильность и тот факт, что он не используется другим веб-сайтом. Помните о том, что возможно возникновение проблем с соединением, если по этому IP-адресу компьютер будет недоступен.

    Порт TCP (Порт TCP). Указывается номер порта, на котором сайт будет ожидать приема данных. Задайте любой порт, не используемый другой службой. Если вы укажете уже занятый порт, IIS не посчитает это ошибкой. Однако в дальнейшем вероятно возникновение проблем в работе использующей порт службы.

    Например, для веб-сайта указан порт 25, в результате чего возник конфликт со службой Simple Mail Transfer Protocol (SMTP), работающей на том же компьютере и использующей тот же порт. При поступлении к порту 25 данных компьютер не будет знать, какой службе они предназначаются. В большинстве случаев, поскольку служба SMTP устанавливается раньше, веб-запрос отправится к ней и, следовательно, не будет обработан. При выборе номера порта, отличающегося от 80, необходимо убедиться, что он не используется другой службой.

    По умолчанию веб-браузер всегда ожидает поступление данных по порту 80, если в поле адреса не указан другой порт. При изменении номера порта клиенты должны добавлять к адресу URL номер порта, чтобы браузер отправлял запросы к веб-серверу по этому порту. Например, при изменении порта ожидания данных на 1500 клиенты должны указать адрес http://www.beerbrewers.com:1500 вместо обычного http://www.beerbrewers.com.

    Порт SSL (Порт SSL). Указывается порт, по которому к веб-сайту поступают данные Secure Sockets Layer (Протокол защищенных сокетов). SSL позволяет шифровать и/или аутентифицировать данные при их передаче между клиентом и сервером (см. «Шифрование» ).

    Как и в предыдущем случае, при изменении стандартного номера 443 этого порта клиенты должны добавлять номер порта к адресу URL для открытия веб-сайта. Например, при изменении номера порта на 1543 клиенты для доступа к сайту должны указать адрес https://www.beerbrewers.com:1543 вместо https://www.beerbrewers.com.

    Аdvanced (Дополнительно)

    При нажатии на кнопку Advanced (Дополнительно) открывается окно Advanced Web Site Configuration (Дополнительная настройка веб-сайта), в котором настраиваются дополнительные адреса и идентификаторы. Дополнительные идентификаторы позволяют пользователям осуществлять доступ к сайту по нескольким адресам. Такой подход применяется, если нужно направить пользователей, вводящих URL одного сайта, на другой сайт этого же компьютера без использования DNS (Системы доменных имен). (Более подробная информация приведена в «TCP/IP и DNS» ). В окне Advanced Web Site Configuration указываются имена заголовков узла, чтобы нескольких веб-сайтов могли использовать один и тот же IP-адрес и порт.

    О заголовках узлов. Заголовки узлов позволяют отделять один адрес веб-сайта от другого. Обычно они служат для настройки разных веб-сайтов на использование одного и того же IP-адреса и порта. Заголовок узла представляет собой полное имя DNS, вводимое в адресной строке браузера для открытия сайта. Заголовки узлов позволяют экономить адресное пространство при наличии одного доступного IP-адреса. При запросе страницы веб-браузером HTTP 1.1 первая часть запроса выглядит следующим образом.

    Часть кода после Host является именем заголовка узла – www.mywebsite.com . IIS использует его для отправки сообщения соответствующему веб-сайту.

    Имена заголовков узлов впервые появились в протоколе HTTP 1.1, и все браузеры, совместимые с HTTP 1.1, работают с ними. Более старые версии браузеров не передают заголовок узла и для любого IP-адреса всегда выполняют переход к веб-сайту по умолчанию.

    Совет. Для поддержки старых версий браузеров можно создать стандартную страницу для IP-адреса со списком веб-сайтов и использовать элементы cookie для направления на эти сайты клиентов. Версии Internet Explorer, начиная с четвертой, и версии Netscape, начиная с 3, поддерживает заголовки узлов, поэтому не будем заострять внимание на этом вопросе. Более полная информация о поддержке старых версий браузеров находится на сайте Microsoft.

    Примечание. Имена заголовков узлов являются частью протокола HTTP 1.1, поэтому их нельзя использовать на сайтах FTP, почтовых и новостных сайтах в IIS. При создании несколько сайтов на одном сервере следует получить несколько IP-адресов или использовать различные порты. Заголовки узлов недоступны и в случае работы с протоколом защищенных сокетов (SSL), так как заголовок находится в зашифрованном запросе.

    Добавление дополнительного тождественного идентификатора. Одному и тому же веб-сайту можно присвоить несколько адресов. Сайт будет отвечать на запросы, поступающие по каждому отдельному адресу и по всем сразу. Каждый адрес, ассоциированный с веб-сайтом, называется тождественным идентификатором. Для создания дополнительного тождественного идентификатора веб-сайта нажмите на кнопку Add (Добавить) в секции Web Site Identification (Идентификация веб-сайта) во вкладке Web Site (Веб-узел). Откроется диалоговое окно Advanced Web Site Identification (Дополнительная идентификация веб-узла) (см. рис. 2.3).

    Каждый тождественный идентификатор должен быть уникальным и использовать один из трех адресов (IP-адрес, порт TCP или значение заголовка узла). Введите любой правильный IP-адрес, порт или имя заголовка узла. Как и в случае с полем IP Address вкладки Web Site (Веб-узел), система не проверяет наличие этого адреса на компьютере, поэтому вводите любой разрешенный адрес. Не забывайте, что будет мало пользы, если в дальнейшем ваш сайт нельзя будет отыскать по указанному адресу.

    Удаление тождественных идентификаторов. Для удаления тождественного идентификатора выделите его и нажмите на кнопку Remove (Удалить). Все тождественные идентификаторы сайта в этом окне удалить нельзя, поэтому кнопка OK будет недоступна.

    Редактирование тождественных идентификаторов. Для изменения тождественного идентификатора выделите его и нажмите на кнопку Edit (Изменить).

    Присвоение тождественных идентификаторов SSL. Веб-сайту можно присвоить несколько тождественных SSL-идентификаторов. Поскольку в SSL отсутствуют заголовки узлов, изменяется только IP-адрес и номер порта. При отсутствии на сайте установленного сертификата все опции для тождественных SSL-идентификаторов будут отключены.

    Добавление тождественных SSL-идентификаторов. Для добавления дополнительного идентификатора SSL веб-сайту нажмите на кнопку Add (Добавить). Можно добавить несколько идентификаторов; просто помните о том, что сертификаты SSL базируются на имени сайта, а не на IP-адресе. Любой указываемый IP-адрес должен обрабатываться через имя DNS. При попытке доступа через IP-адрес сайт будет недоступен.

    Удаление тождественных SSL-идентификаторов. Для удаления тождественного идентификатора SSL с веб-сайта выделите его и нажмите на кнопку Remove (Удалить). Нельзя удалить все тождественные SSL-идентификаторы.

    Изменение тождественных SSL-идентификаторов. Для изменения тождественного идентификатора SSL веб-сайта выделите его и нажмите на кнопку Edit (Изменить).

    Лимит времени соединения

    Параметр Connection Timeout (Лимит времени соединения) во вкладке Web Site (Веб-узел) задает промежуток времени в секундах, в течение которого сервер поддерживает для клиента открытое соединение. Как правило, браузер отправляет на сервер запрос, чтобы оставить соединение открытым. Данный процесс называется поддержкой соединения НTTP (keep-alive). Клиент использует открытое соединение для нескольких запросов, причем ни клиенту, ни серверу не нужно повторно устанавливать соединение для каждого запроса. Это сильно повышает производительность, особенно для низкоскоростных соединений. При завершении работы с запросами клиент сообщает серверу о том, что соединение можно закрыть и освободить занимаемые ресурсы.

    Предположим, по какой-то причине клиент не закрыл соединение. Оно останется открытым бесконечно долго, если не сообщить серверу о необходимости его закрытия. Значение Connection Timeout (Лимит времени соединения) предназначено как раз для установки этого интервала времени.

    Включение функции поддержки соединения HTTP

    Опция Enable HTTP Keep-Alives (Включить поддержку соединения HTTP) включена по умолчанию, что позволяет серверу принимать запросы HTTP keep-alive от клиентов. При отключении опции резко снижается производительность и клиента, и сервера.

    Включение журнала

    По умолчанию на веб-сайтах включено ведение журналов. Стандартным типом журнала является W3C Extended Log File (Расширенный файл журнала W3C). В окне можно отключить ведение журнала или изменить его тип. О ведении журналов подробно рассказывается в «Ведение журналов» .

    Iis включение поддержки открытых соединений http

    Эту статью не стоит рассматривать как полноценное руководство по безопасности при настройке Internet Information Services версии 7.x — для того уже существует несколько талмудов, которые описывают предмет нашего разговора во всей его красе. Но не у всякого администратора имеется возможность досконально изучить эти книги, а конфигурировать веб-сервер надо уже сейчас. Поэтому хочется опубликовать краткий обзор мер безопасности, которые необходимо иметь в виду, работая с IIS , некий чек- лист что ли, по которому можно быстро пробежаться, сравнить с требованиями своего проекта и корпоративными гайдами по информационной безопасности.

    Обозначение 7.x означает, что здесь собран материал для обеих версий продукта: IIS 7 , поставляемый с Windows Server 2008 и Windows Vista , и IIS 7.5 , который Вы можете найти в «коробке» от Windows Server 2008 R2 и Windows 7 .

    Все меры, представленные в данной подборке, ни в коем случае не являются ОБЯЗАТЕЛЬНЫМИ. Более того, они могут даже противоречить системным требованиям Ваших веб-приложений. Решение о принятии той или иной меры все таки необходимо выносить в условиях конкретной ситуации. Здесь меры будут носить лишь ОПИСАТЕЛЬНЫЙ характер, чтобы администратор знал — вот здесь еще можно подкрутить ;)

    Все ответы

    Основы безопасности IIS

    Административные меры безопасности IIS

    Максимальное усиление безопасности IIS

    Кратко об Internet Information Services 7.x

    Internet Information Services 7.x — компонент веб-сервиса компании Microsoft для операционной системы Windows Server 2008 (R2) .

    На момент написания данного материала IIS 7.5 является последним в длинной линейке версий IIS . Начиная с версии 6.0, Microsoft в цикле разработки данного продукта решила сосредоточить особое внимание на безопасности и непрерывно следует этому подходу до сих пор. В результате IIS 7.x поставляется с большим количеством изменений по сравнению со своим предшественником и имеет огромное количество новых возможностей, которыми только надо умело пользоваться. IIS 7.x был полностью переработан и сейчас базируется на новой модульной архитектуре. Это означает, что вместо монолитного «черного ящика», который устанавливается по умолчанию и имеет лишь пару дополнительных возможностей, IIS 7.x теперь имеет около 40 отдельных компонентов — так называемых модулей. По умолчанию устанавливаются только самые основные модули; дополнительные же могут быть легко добавлены в случае необходимости. Это помогает значительно уменьшить площадь атаки на сервер, просто потому, что ненужные средства отсутствуют в системе. Модульная архитектура имеет множество преимуществ, и в части безопасности, и в администрировании, и в производительности веб-сервера. Кроме того, IIS 7.x не ограничивает Вас набором предразработанных модулей — пишите свои, если хотите заменить существующие, или есть требование расширить функциональность веб-сервера.

    Настраиваем в IIS авторизацию по клиентским сертификатам при помощи OpenSSL

    Доброго времени суток, %username%!
    Ранее я рассказывал о генерации сертификатов с эллиптическими кривыми.
    Сегодня я расскажу о том как можно без особых усилий настроить в IIS авторизацию по обычным RSAшным клиентским сертификатам, сгенерировать сертификаты для сервера и клиента. И поможет мне в этом как всегда OpenSSL.
    Для того чтобы все работало нам понадобятся минимум 3 сертификата:

    1. Корневой сертификат (Certificate Authority или CA). Им будем подписывать все остальные.
    2. Сертификат домена (сервера). Им IIS будет проверять клиентов. И наоборот, клиенты смогут проверить подлинность сервера.
    3. Сертификат(ы) клиента(ов)

    Для работы нам понадобится отдельная папка, например c:\iis. В ней необходимо создать файл без расширения serial и записать туда 01, так же там нужно создать пустой файл index.txt. В зависимости от конфигурации OpenSSL может попросить создать внутри этой папки еще какие нибудь. В моем случае это была папка newcerts. Так же в OpenSSL.cfg нужно будет поменять в [ CA_default ] dir на c:/iis

    1) Создадим корневой self-signed сертификат:
    openssl req -new -x509 -newkey rsa:2048 -days 1000 -out c:\iis\ca.crt -keyout c:\iis\ca.key

    • -new означает что мы хотим создать новый запрос
    • -x509 что сразу хотим самоподписанный сертификат
    • -newkey rsa:2048 Пусть тут же и ключик нам сгенерирует длиной 2048 бит. вместо rsa: , кстати, можно указывать dsa: или ec:
    • -days 1000 — сертификат истечет через 1000 дней
    • -out и -keyout указывают куда сохранить сертификат и закрытый ключ от него

    После серии несложных вопросов в папке iis появятся сертификат ca.crt и закрытый ключ от него ca.key

    Теперь, чтобы IIS узнавал все сертификаты, подписанные корневым, нужно установить корневой сертификат в хранилище доверенных центров сертификатов компьютера:

    1. Запускаем mmc
    2. Добавляем оснастку сертификаты и указываем, что она будет управлять сертификатами для учетной записи компьютера, иначе ничего не заведется.
    3. Открываем «Доверенные корневые центры сертификации» и импортируем туда наш CA:

    Готово! Можно приступать к работе с сервером.

    2) В консоли управления IIS нужно зайти в «Сертификаты сервера», вызвать меню по правой кнопке и нажать создать новый запрос сертификата. Сохраните его в c:\iis как server.csr

    Теперь подпишем запрос сертификата сервера корневым сертификатом:
    openssl ca -days 1000 -policy policy_anything -keyfile c:\iis\ca.key -cert c:\iis\ca.crt -in c:\iis\server.csr -out c:\iis\server.cer
    -policy policy_anything означает, что сертификату будут предоставлены все возможные политики применения. Самый простой вариант. Остальные параметры, полагаю, в пояснении не нуждаются. Главное, не запутаться где какой файл указывать.
    После этого у нас в c:\iis появится сертификат сервера server.cer, которы нужно установить в IIS.
    Для этого мы опять идем в «сертификаты сервера», выбираем «Запрос установки сертификата» и там указываем c:\iis\server.cer.
    Всё, сертификат у сервера есть.
    Теперь нужно в привязках для узла создать новую https привязку и выбрать из списка наш серверный сертификат:

    После этого нужно в настройках SSL для узла выставить опции следующим образом:

    Готово! Остался клиент. Но и на этом этапе уже можно зайти на https://localhost/ и увидеть, что без сертификата вас не пускает.

    3) Генерируем запрос для клиентского сертификата
    openssl req -new -newkey rsa:2048 -days 1000 -keyout c:\iis\client.key -out c:\iis\client.csr
    Здесь мы не указывали -x509, поэтому получили обычный запрос на сертификат и закрытый ключ клиента.

    Подписываем запрос:
    openssl ca -days 1000 -policy policy_anything -keyfile c:\iis\ca.key -cert c:\iis\ca.crt -in c:\iis\client.csr -out c:\iis\client.crt
    Тут тоже все понятно, в результате мы получим сертификат слиента client.crt

    Теперь чтобы импортировать сертификат клиента в хранилище сертификатов Windows вместе с ключом, нам необходимо конвертнуть crt+key в контейнер .pfx:
    openssl pkcs12 -export -inkey c:\iis\client.key -in c:\iis\client.crt -out c:\iis\client.pfx
    Ура! Получили client.pfx, дважды кликнув на котором можно вызвать диалог импорта сертификатов и, собственно установить то что получилось в личное хранилище.

    Если все сделано правильно, то после импорта сертификата в личное хранилище вас должно пустить по адресу https://localhost/ и показать содержимое.

    Можно сгенерировать еще один сертификат с другими данными и тоже его импортировать. Тогда при заходе на сервер вам предложат выбрать любой из них:

    Несколько веб сайтов IIS на одном порту и IP

    По умолчанию во время установки сервера IIS (Internet Information Services) создается пустой веб-сайт “Default Web Site”, который отвечает на стандартном веб порту – TCP 80. В терминах IIS это означает, что выполнена привязка этого сайта (Binding) к порту 80. Чтобы открыть этот сайт, достаточно в браузере набрать имя сервера IIS (“http://web-srv1”) или его IP адрес (“http://10.10.0.88”). Один веб сервер IIS может обслуживать десятки и сотни сайтов, и технически можно запустить несколько веб-сайтов, которые слушают и отвечают на одном и том же порту (80 или 443). Однако из интерфейса IIS Manager, совсем не очевидно, что можно запустить второй сайт на этом же хосте без привязки его к другому порту (например, 8080). В этой статье мы разберёмся, как на одном сервере IIS запустить сразу несколько сайтов, чтобы они были привязаны к одному и тому же порту и IP адресу.

    Итак, как мы уже говорили ранее, на одном сервере IIS может быть запущено множество сайтов, однако чтобы IIS мог корректно распределять HTTP запросы, каждый сайт должен идентифицироваться неким уникальным значением. Для веб сайта IIS оно формируется из трех атрибутов, комбинация которых для каждого сайта должна быть уникальной. Это:

    • номер TCP порта
    • IP адрес
    • имя узла (host header)

    Информация о запущенных сайтах хранится в атрибуте ServerBindings метабазы IIS в формате IP:Port:Hostname. Таким образом, если нужно запустить несколько сайтов на одном порту и IP адресе, нужно использовать уникальный Host header. Что это такое? Host header – это часть HTTP запроса к серверу, который отправляет клиент, указывая к какому конкретно сайту он хочет обратиться. Соответственно, данный host header должен быть указан на стороне веб сервера, а в DNS содержаться корректная запись, осуществляющая соответствие между именем хоста и ip адресом веб-сервера.

    Итак, предположим, что у нас на IIS уже запущен один веб сайт на 80 порту. Нам нужно добавить второй сайт на этом же порту.

    В консоли управления IIS создадим второй сайт (Add Website). С именем TestSite , файлы которого будут храниться в каталоге c:\inetpub\TestSite (имя хоста пока не указываем).

    После того, как вы нажмете “OK”, появится предупреждение, в котором говорится, что вы не можете использовать привязку *:80 для двух сайтов, т.е. одновременно может работать только один из них.

    Согласимся с этим предупреждением. Итак, у нас появился второй сайт, также привязанный к 80 порту, но запустить его без остановки первого сайта нельзя.

    Чтобы создать уникальную привязку, укажем для второго сайта другое имя (Host Name). Щелкните ПКМ по сайту TestSite и выберите пункт меню Edit Bindings. Выберите нужную привязку и нажмите Edit.

    В поле Host Name укажите уникальное имя хоста, к которому должны обращаться пользователи, например TestSite.

    Настроить привязку можно и из командной строки. В данном примере для IIS 7 и выше команда установки привязки будет выглядеть так:

    C:\Windows\System32\inetsrv\appcmd.exe set site /site.name:»TestSite» /+bindings.[protocol=’http’,bindingInformation=’*:80:TestSite’]

    Теперь можно запустить и второй веб сайт.

    Все, что осталось сделать – добавить в DNS алиас для сервера (запись типа A или CNAME), указывающую на IP адрес веб-сервера или его имя.

    Создать CNAME запись для имени TestSite можно с помощью консоли DNS (dnsmgmt.msc), в качестве FQDN target host указать доменное имя вашего IIS сервера.

    Создать такую запись также можно с помощью PowerShell :

    Add-DnsServerResourceRecordCName -HostNameAlias web-srv1.contoso.loc -Name testsite -ZoneName contoso.loc

    Теперь в браузере попробуйте открыть сайт http://TestSite . Он должен успешно открыться.

    Еще несколько полезных моментов, которые стоит упомянуть.

    В том случае, если у вас используется локальный сервер IIS, сопоставление имен сайтов с IP адресом сервера выполняется через файл C:\Windows\system32\drivers\etc\hosts .

    Настройки привязок хранятся в конфигурационном файле IIS ( C:\Windows\System32\inetsrv\config\applicationHost.config ) в секции

    В нашем примере эта секция содержит такие данные :

    По аналогии вы можете разместить и запустить на одном порту веб-сервера IIS несколько сотен сайтов.

    Iis включение поддержки открытых соединений http

    В нашем примере будет использоваться 1C с локальной файловой базой

    Установка IIS на Windows 7

    Пуск — Панель управления — Программы и компоненты — Включение или отключение компонентов Windows

    Выбираем необходимые компоненты: Службы IIS, ASP.NET, Консоль управления IIS и нажимаем ОК

    Установка IIS на Windows Server

    Установка IIS на Windows Server происходит аналогично через Добавление Ролей и компонентов

    Настройка IIS под 1С

    Добавление пользователя IUSR в группу IIS_IUSRS

    Для настройки прав доступа необходимо добавить пользователя IUSR в группу IIS_IUSRS, иначе при попытке публикации 1С на сервер Вы будете получать ошибку

    Запускаем оснастку управление компьютером Win+R -> compmgmt.msc или через меню пуск:

    В оснастке выбираем: Локальные пользователи и групп -> Группы -> IIS_IUSRS открываем свойства группы двойным щелчком ЛКМ

    В эту группу нам необходимо добавить пользователя IUSR, для того чтобы предоставить необходимые права доступа, для этого жмем кнопку Добавить

    Набираем имя пользователя IUSR и нажимаем кнопку Проверить имена, если пользователь будет найден, то он станет подчеркнутым, нажимаем ОК. Если пользователь не находится нажмите кнопку Размещение… и смените место поиска.

    Проверяем, что наш пользователь появился и жмем ОК

    Настройка сайта и приложения в IIS

    Запускаем Диспетчер служб IIS удобным для Вас способом, например: Win+R -> InetMgr

    В левой части экрана раскрываем ветку с сайтами. Останавливаем сайт по умолчанию Default Web Site или модифицируем его, я предпочитаю делать отдельный.

    Жмем ПКМ на сайты и выбираем пункт Добавить веб-сайт

    Заполняем параметры сайта

    Имя сайта: Любое
    Физический путь: Создаем каталог где будет храниться наш сайт (файлы сайта)
    Тип: Выбираем протокол HTTP или HTTPS
    Порт: Задаем порт, порт может быть любой свободный. Стандартный порт для HTTP — 80, для HTTPS 443
    Сертификаты SSL: Сертификаты нужны если Вы используете защищенный протокол HTTPS. Если у Вас нет сертификата для Вашего узла, можно использовать серверный самоподписанный IIS Express Development Certificate.

    Проверяем, что наш сайт появился и запустился

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

    Выбираем наш пул приложений 1с и нажимаем в правой части Дополнительные параметры…

    В Дополнительных параметрах находим строки:
    Версия среды .NET Framework — выбираем версию v.4.0+
    Разрешены 32-разрядные приложения и выбираем значение True
    Внимание! Если Вы будете публиковать x64 битную платформу данное значение оставляем False,иначе будете получать ошибку 0x800700c1
    (Эта проблема возникает из-за неверного сопоставление сценариев. Убедитесь в том, что сопоставление сценария указывает на ISAPI DLL-файл, который может обработать запрос. Чтобы сделать это, выполните следующие действия.)
    Режим управляемого конвейера — выбираем значение Classic

    Настройка доступа для группы IIS_IUSRS

    Настройка необходимого доступа для группы IIS_IUSRS, для корректной работы нашего сайта (1с) и корректной публикации.

    Для начала необходимо дать права группе IIS_IUSRS к каталогу в котором находятся (будут находиться) файлы нашего сайта. В нашем примере файлы сайта находятся в C:\inetpub\www\1c.
    Переходим в каталог C:\inetpub\www\ -> нажимаем ПКМ на каталоге 1с -> в меню выбираем пункт Свойства -> переходим на вкладку Безопасность -> жмем кнопку Изменить… -> кнопку Добавить… -> в поле вписываем название группы IIS_IUSRS (при необходимости меняем место Размещения) -> нажимаем кнопку Проверить имена.

    Если группа найдена она станет подчеркнутой, жмем ОК.

    Далее проставляем галочки необходимых прав:

    — Чтение и выполнение
    — Список содержимого папки
    — Чтение

    Тоже самое с правами, мы делаем для каталога куда установлена и каталога куда развернута наша файловая база. Если Вы используете базу SQL, то Вам НЕ нужно задавать права на каталог с базой.
    Обращаем внимание, что для каталога с базой так же нужны права на запись!

    Расположение файловой базы Вы можете посмотреть запустив 1С Предприятие

    Публикация 1с

    Запускаем 1с Предприятие -> Конфигуратор -> Администрирование -> Публикация на веб-сервере…

    Выбираем каталог где будут файлы сайта и жмем Опубликовать

    Iis включение поддержки открытых соединений http

    Обновлен: Ноябрь 2007

    Если веб-приложение ASP.NET размещено в IIS 7.0, то параметры конфигурации для приложения можно настроить различными способами. К ним относятся:

    Использование служб IIS Manager. Дополнительные сведения см. в разделах Практическое руководство. Открытие диспетчера IIS и Диспетчер служб IIS (Internet Information Services (IIS) Manager).

    Непосредственное редактирование файла Web.config. Это можно сделать в Visual Studio или Visual Web Developer или используя текстовый редактор.

    Использование средства командной строки служб IIS 7.0 (Appcmd.exe). Оно позволяет указать параметры конфигурации IIS и параметры конфигурации веб-приложения. Дополнительные сведения см. в разделе средство командной строки IIS 7.0 (IIS 7.0 Command-Line Tool).

    Использование инструментария управления Windows (WMI). В пространстве имен WebAdministration поставщика WMI IIS 7.0 содержатся классы и методы, позволяющие создавать сценарии, использующиеся при администрировании веб-узлов, веб-приложений и связанных с ними объектов и свойств. Дополнительные сведения см. в разделе IIS 7.0: WMI.

    Службы IIS 7.0 имеют модульную архитектуру, позволяющую указать, какие модули составляют используются веб-сервером. После установки IIS 7.0 по умолчанию многие модули выключены. При работе с веб-сайтами ASP.NET может понадобиться включение следующих модулей:

    Модуль управления совместимостью с IIS 6, позволяющий Visual Studio использовать вызовы метабазы для взаимодействия с хранилищем конфигураций IIS 7.0.

    Модуль проверки подлинности Windows, позволяющий проводить отладку веб-приложений в Visual Studio.

    В данном пошаговом руководстве будут заданы параметры конфигурации с использованием диспетчера IIS Manager, а затем можно будет увидеть, как параметры отражаются в файле Web.config веб-приложения. В данном пошаговом руководстве представлены следующие задачи:

    Создание настраиваемого модуля управляемого кода и помещение модуля в каталог App_Code веб-приложения.

    Регистрация настраиваемого модуля с использованием диспетчера IIS Manager.

    Добавление настраиваемого заголовка HTTP с использованием диспетчера IIS Manager.

    В этом пошаговом руководстве функциональные возможности модуля не важны. Цель этого пошагового руководства — демонстрация интеграции модуля в конвейер запросов, а также влияния настройки приложения с помощью диспетчера IIS Manager на файл Web.config.

    Для выполнения этого пошагового руководства потребуется:

    Службы IIS 7.0, установленные и выполняющиеся в ОС Windows Vista или в ОС Windows Server 2008.

    По меньшей мере один пул приложений, выполняемый в интегрированном режиме IIS 7.0.

    Модуль Совместимость управления IIS 6 , включенный в IIS 7.0.

    Visual Studio 2008.

    Платформа .NET Framework, версия 3.0 или более поздняя версия.

    Административные разрешения на локальном компьютере.

    Средство для проверки HTTP-запросов и ответов между локальным компьютером и веб-серверами, например, средство Fiddler, доступное на веб-узле Fiddler Web Debugging Proxy.

    Примечание.

    Fiddler — это стороннее средство, не поддерживаемое Microsoft.

    Для начала потребуется создать новый веб-узел.

    Создание нового веб-узла

    В Visual Studio нужно создать новый локальный веб-узел HTTP с именем WalkthroughIIS7 .

    Дополнительные сведения о создании локального веб-узла IIS см. в разделе Пошаговое руководство. Создание локального веб-узла IIS в Visual Web Developer .

    В меню Пуск последовательно выберите пункты Все программы , Стандартные и Выполнить .

    В поле Открыть введите inetmgr и нажмите кнопку ОК .

    Примечание.

    Если включен контроль учетных записей пользователей (UAC), то при попытке доступа к службам IIS Manager может быть отображено сообщение. При появлении данного сообщения нажмите кнопку Продолжить . Дополнительные сведения см. в разделе Контроль учетных записей (User Account Control).

    Убедитесь, что веб-узел находится в пуле приложений, выполняемом в интегрированном режиме.

    Сведения об задании режима веб-приложения см. в разделе Настройка режима обработки запросов для пула приложений (Configure the Request-Processing Mode for an Application Pool).

    Теперь можно создать настраиваемый HTTP-модуль.

    Создание настраиваемого HTTP-модуля

    В обозревателе решений Visual Studio щелкните правой кнопкой мыши узел веб-проекта и выберите пункт Добавить новый элемент .

    Откроется диалоговое окно Добавление нового элемента .

    Под заголовком Установленные шаблоны Visual Studio выберите Класс .

    Выберите предпочитаемый язык программирования.

    Для имени класса введите CustomModule и нажмите Добавить .

    Если веб-узел еще не содержит папки App_Code, отобразится сообщение с запросом подтверждения помещения класса в папку App_Code. Если это так, нажмите кнопку Да .

    В файле класса удалите существующий код и замените его следующим кодом:

    Этот код выполняет следующие действия:

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

    Определяет обработчик событий для события BeginRequest экземпляра HttpApplication . Обработчик событий определяет настраиваемый заголовок, добавляемый к коллекции заголовка ответа.

    Добавляет обработчик к конвейеру запросов для уведомления в методе Init модуля.

    Поскольку класс реализует интерфейс IHttpModule , класс должен реализовать метод Init и метод Dispose . Метод Dispose в этом модуле не имеет функциональных возможностей, но в нем можно при необходимости реализовать логику удаления.

    В меню Построение выберите команду Построить веб-узел , чтобы убедиться, что ошибки в модуле отсутствуют.

    В качестве последней задачи в этом подразделе нужно создать страницы ASP.NET и HTML, используемые позднее в этом пошаговом руководстве для проверки настраиваемого модуля.

    Создание тестовых страниц ASP.NET и HTML

    Добавьте новую однофайловую веб-страницу ASP.NET с именем ASPXpage.aspx в корневую папку приложения.

    Удалите существующую разметку и замените ее на следующую:

    Добавьте новую HTML-страницу с именем HTMLPage.htm в корневую папку веб-приложения.

    Добавьте следующую разметку на HTML-страницу:

    Сохраните все изменения.

    Запустите по отдельности страницу ASPXpage.aspx и страницу HTMLpage.htm, чтобы убедиться в возможности их просмотра в обозревателе.

    Примечание.

    Не закрывайте приложение Visual Studio. Позднее потребуется вернуться к этому приложению, чтобы проверить изменения конфигурации, осуществленные с помощью диспетчера IIS Manager.

    На этом этапе страницы выполняются, но не вызывают настраиваемый модуль. В следующей процедуре необходимо добавить настраиваемый модуль к конвейеру запросов.

    В этом разделе потребуется использование диспетчера IIS Manager для изменения нескольких параметров конфигурации для приложения IIS. Необходимо зарегистрировать настраиваемый модуль, добавить настраиваемый заголовок и отключить статическое сжатие.

    Регистрация настраиваемого модуля управляемого кода

    В меню Пуск последовательно выберите пункты Все программы , Стандартные и Выполнить .

    В поле Открыть введите inetmgr и нажмите кнопку ОК .

    Примечание.

    Если включен контроль учетных записей пользователей (UAC), то при попытке доступа к службам IIS Manager может быть отображено сообщение. При появлении данного сообщения нажмите кнопку Продолжить . Дополнительные сведения см. в разделе Контроль учетных записей (User Account Control).

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

    Разверните папку Узлы .

    Выберите веб-узел WalkthroughIIS7 . В Windows Server 2008, если веб-приложение является приложением веб-узла, сначала разверните этот веб-узел, а затем выберите WalkthroughIIS7 .

    По умолчанию центральная часть диспетчера IIS Manager отображает параметры конфигурации веб-сервера по областям. Для веб-приложения WalkthroughIIS7 существуют две области: ASP.NET и IIS .

    В разделе IIS центральной области дважды щелкните значок Модули .

    В области сведений Модули в центральной области будут показаны все модули, настроенные в данный момент для IIS.

    В области Действия щелкните Добавить управляемый модуль .

    Откроется диалоговое окно Добавление управляемого модуля .

    Введите CustomModule в поле Имя .

    Именем может быть любое слово или фраза, описывающая модуль. В этом пошаговом руководстве будет использовано только имя модуля.

    В списке Тип выберите или введите полное имя управляемого типа для модуля.

    Тип CustomModule появится в списке, поскольку конфигурация IIS включает любые классы в папке App_Code, реализующие IHttpModule .

    Убедитесь, что флажок Вызывать только по запросу приложений ASP.NET или управляемых обработчиков снят.

    В данном пошаговом руководстве необходимо, чтобы модуль был применен ко всем запросам в конвейере, а не только к запросам ASP.NET.

    Нажмите кнопку ОК .

    Модуль управляемого кода добавляется к списку модулей. Возможно, потребуется прокрутить или пересортировать список, чтобы увидеть добавленный модуль.

    Добавление настраиваемого заголовка ответа

    В левой области диспетчера IIS Manager щелкните имя узла WalkthroughIIS7 , чтобы отобразить основную область конфигурации для узла.

    В центральной области в разделе параметров IIS дважды щелкните значок Заголовки ответов HTTP .

    Подробные сведения функции Заголовки ответов HTTP будут отображены в центральной области. В ней будут показаны все определенные в данный момент заголовки ответов HTTP.

    В области Действия щелкните Добавить .

    Откроется диалоговое окно Добавить HTTP-заголовок ответа .

    В текстовом поле Имя введите CustomHeader1 .

    Именем может быть любое слово или фраза, описывающая заголовок.

    В текстовом поле Значение введите значение SampleHeader .

    Теперь статическое сжатие будет отключено. Это препятствует сжатию статического содержимого, например страниц HTML.

    Отключение статического сжатия

    Щелкните имя узла WalkthroughIIS7 в левой области, чтобы отобразить основную область конфигурации узла в центральной области.

    В центральной области диспетчера IIS Manager дважды щелкните значок Сжатие в разделе параметров IIS .

    Подробные сведения функции Сжатие будут отображены в центральной области.

    Убедитесь, что флажок Включить сжатие статического содержимого не установлен.

    В данном пошаговом руководстве были выполнены задачи, связанные с изменением параметров конфигурации с помощью диспетчера IIS Manager. В этой процедуре будут просмотрены изменения в файле Web.config приложения.

    Проверка регистрации модуля в файле Web.config

    Вернитесь к приложению Visual Studio и к приложению WalkthroughIIS7 .

    В обозревателе решений щелкните правой кнопкой мыши имя веб-узла и выберите команду Обновить папку .

    Это приведет к тому, что представление папки веб-узла в Visual Studio будет синхронизировано с папкой и файлами на диске.

    Если приложение изначально не содержало файла Web.config, то теперь у веб-приложения будет файл Web.config. Если приложение уже содержало файл Web.config, то в файл будут внесены изменения.

    В Обозревателе решений дважды щелкните файл Web.config, чтобы просмотреть его содержимое.

    Секция system.webServer содержит изменения в параметрах конфигурации, внесенные с помощью диспетчера IIS Manager. В секции system.webServer содержатся следующие дочерние элементы:

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

    Элемент httpProtocol , определяющий настраиваемый заголовок ответа.

    Элемент urlCompression , отключающий статическое сжатие.

    Секция system.webServer будет выглядеть примерно так:

    Дополнительные сведения о секции system.webServer см. в разделе Использование конфигурации ASP.NET и в разделе IIS 7.0: system.webServer (IIS Settings Schema) (IIS 7.0: system.webServer (схема параметров IIS)).

    Службы IIS 7.0 имеют интегрированный конвейер запросов. Запросы для всех ресурсов приложения (например, для ASPX-страницы или HTM-страницы) могут вызывать уведомления конвейера в модуле управляемого кода, как и в управляемом модуле, созданном в ходе этого пошагового руководства.

    Примечание.

    При настройке модуля управляемого кода с помощью диспетчера IIS Manager не был выбран параметр Вызывать только по запросу приложений ASP.NET или управляемых обработчиков . Если бы был выбран этот параметр, то настраиваемый модуль получал бы уведомления конвейера только для ресурсов ASP.NET и не получал бы для статических ресурсов, таких как HTML-файлы.

    Проверка применения настраиваемого модуля ко всем ресурсам

    В Visual Studio откройте страницу ASPXpage.aspx и нажмите сочетание клавиш CTRL + F5 для отображения страницы в обозревателе.

    Настраиваемый заголовок, определенный в модуле, отобразится в обозревателе. На странице ASP.NET невозможно получить доступ к настраиваемому заголовку, определенному IIS, поскольку сведения о заголовке добавляются после передачи содержимого страницы в поток. Однако можно подтвердить установку заголовка с использованием средства, отслеживающего трафик HTTP, например, Fiddler.

    Откройте средство наблюдения за трафиком HTTP и обновите страницу ASPXpage.aspx в обозревателе.

    Примечание.

    Если URL-адрес для страницы ASPXpage.aspx использует localhost, измените localhost на имя компьютера, на котором установлены службы IIS 7.0. В типовом сценарии разработки это тот же компьютер, на котором выполняется Visual Studio.

    Убедитесь, что CustomHeader1 и CustomHeader2 появляются в коллекции заголовков ответа.

    Просмотрите HTMLPage.htm в обозревателе.

    Убедитесь, что CustomHeader1 и CustomHeader2 появляются в коллекции заголовков ответа.

    Это пошаговое руководство предоставило введение в настройку ASP.NET в IIS 7.0. Параметры конфигурации для веб-сервера IIS 7.0 и для ASP.NET объединены в один файл конфигурации, который можно редактировать с использованием одного интерфейса администрирования.

    Может также возникнуть необходимость узнать об изменении других параметров в диспетчере IIS Manager и о том, как изменения отражаются в файле конфигурации. Дополнительные сведения см. в разделе Internet Information Services (IIS).

    Илон Маск рекомендует:  Что такое код gettextinfo
    Понравилась статья? Поделиться с друзьями:
    Кодинг, CSS и SQL
    Примечание.