Isapi dll, как включить
Обновлено: 21.11.2024
Обработчик – это библиотека DLL или другой исполняемый файл, который отвечает на определенный запрос клиента. IIS получает запрос, находит соответствующий обработчик для запроса и затем передает информацию о запросе этому обработчику. Вы можете просмотреть обработчики для IIS, выбрав подключение, с которым вы хотите работать, на панели «Подключения», а затем дважды щелкнув значок «Сопоставления обработчиков». Вы видите окно Handler Mappings. В следующих разделах обработчики подробно описаны.
Включение и отключение обработчиков
Обработчик работает только тогда, когда вы его включаете. IIS предоставляет средства для включения и отключения обработчиков по мере необходимости. Вы можете установить обработчик, но решите не использовать его для запросов, пока он не понадобится. Обработчик может предоставлять специальные функции, такие как отладка, или при определенных обстоятельствах может представлять угрозу безопасности.
IIS по умолчанию отключает два обработчика: CGI-exe и ISAPI-dll. В обоих случаях современные веб-сайты обычно не используют предоставляемые ими функции, и у них обоих есть проблемы с безопасностью. Вы должны включить обработчик CGI-exe, если хотите использовать сценарии CGI на своем сервере. Точно так же вам потребуется ISAPI-dll, если вы хотите использовать расширения ISAPI (в отличие от фильтров ISAPI) на своем веб-сайте. IIS не предлагает выбора, какие обработчики включить. Вы включаете оба этих обработчика, включив один из них.
IIS включает и отключает обработчики на основе разрешений, которые вы предоставляете определенному уровню иерархии. Фактически IIS предоставляет три уровня разрешений, показанных в таблице 1, для обработчиков.
Таблица 1. Уровни разрешений обработчика запросов IIS 7
- Выберите уровень, который хотите изменить, на панели "Подключения".
- Дважды щелкните "Сопоставления обработчиков".
Откроется окно "Сопоставления обработчиков". - Нажмите «Изменить права доступа к функциям» на панели «Действия».
Появится диалоговое окно «Редактировать разрешения для функций». По умолчанию IIS включает разрешения на чтение и выполнение сценариев. - Измените необходимые разрешения и нажмите OK.
IIS изменит разрешение для выбранного уровня. Поскольку сервер, веб-сайты и каждая папка могут иметь разные разрешения, вы должны установить разрешения на самом низком возможном уровне.
Добавление управляемого обработчика
- Выберите уровень, который хотите изменить, на панели "Подключения".
- Дважды щелкните "Сопоставления обработчиков".
Откроется окно "Сопоставления обработчиков". - Нажмите "Добавить управляемый обработчик" на панели "Действия".
Появится диалоговое окно "Добавить управляемый обработчик". - Введите новый путь в поле Путь запроса.
- Выберите один из классов обработчиков в поле «Тип».
- Укажите удобочитаемое имя обработчика в поле "Имя".
- (Необязательно) Нажмите «Запросить ограничения», чтобы настроить ограничения обработчика.
Подробности см. в разделе «Изменение ограничений обработчика» этого руководства. - Нажмите "ОК".
IIS добавит новый обработчик в список.
Добавление карты сценария
Скриптовая карта — это подключение к неуправляемому обработчику определенного типа. В большинстве случаев обработчик представляет собой файл EXE или DLL. Вы используете карту сценариев, чтобы обеспечить поддержку старых обработчиков собственного кода. Например, вы используете карту сценариев для создания записи обработчика для вашего расширения ISAPI.
Добавление ограничений ISAPI/CGIКоллекция доступна только после установки модулей CGI или ISAPI Extensions на сервер IIS 7 и более поздних версий. Вы не можете установить его независимо от этих функций.
Windows Server 2012 или Windows Server 2012 R2
- На панели задач нажмите "Диспетчер серверов".
- В диспетчере серверов откройте меню "Управление" и выберите "Добавить роли и компоненты".
- В мастере добавления ролей и компонентов нажмите "Далее". Выберите тип установки и нажмите «Далее». Выберите целевой сервер и нажмите "Далее".
- На странице "Роли сервера" разверните узел "Веб-сервер (IIS)", разверните узел "Веб-сервер", разверните узел "Разработка приложений" и выберите "Расширения CGI или ISAPI". Нажмите кнопку "Далее.
. - На странице "Выбор функций" нажмите "Далее".
- На странице "Подтверждение выбора установки" нажмите "Установить".
- На странице результатов нажмите "Закрыть". ол>р>
- На начальном экране переместите указатель до конца в левый нижний угол, щелкните правой кнопкой мыши кнопку "Пуск" и выберите "Панель управления".
- На панели управления нажмите "Программы и компоненты", а затем нажмите "Включение или отключение компонентов Windows".
- Разверните Информационные службы Интернета, разверните Службы World Wide Web, разверните Компоненты разработки приложений, а затем выберите Расширения CGI или ISAPI.
- Нажмите "ОК".
- Нажмите "Закрыть". ол>р>
- На панели задач нажмите "Пуск", выберите "Администрирование", а затем нажмите "Диспетчер серверов".
- На панели иерархии диспетчера серверов разверните Роли и щелкните Веб-сервер (IIS).
- На панели веб-сервера (IIS) прокрутите до раздела Службы ролей и нажмите Добавить службы ролей.
- На странице "Выбор служб ролей" мастера добавления служб ролей выберите "Расширения CGI или ISAPI".
- Если появится диалоговое окно «Добавить службы ролей», нажмите «Добавить необходимые службы ролей». (Эта страница отображается только в том случае, если на вашем сервере еще не установлены какие-либо необходимые службы ролей.)
- На странице "Выбор служб ролей" нажмите "Далее".
- На странице "Подтверждение выбора установки" нажмите "Установить".
- На странице результатов нажмите "Закрыть". ол>р>
- На панели задач нажмите "Пуск", а затем выберите "Панель управления".
- На панели управления нажмите "Программы и компоненты", а затем нажмите "Включение или отключение компонентов Windows".
- В диалоговом окне "Компоненты Windows" разверните "Информационные службы Интернета", затем "Службы Интернета", затем "Функции разработки приложений".
- Выберите «Расширения CGI» или «ISAPI», а затем нажмите «ОК».
- На панели задач нажмите "Диспетчер серверов", выберите "Сервис", а затем нажмите "Диспетчер информационных служб Интернета (IIS)".
- Удерживая нажатой клавишу Windows, нажмите букву X и выберите "Панель управления".
- Нажмите "Администрирование", а затем дважды щелкните "Диспетчер информационных служб Интернета (IIS)".
- На панели задач нажмите "Пуск", выберите "Администрирование" и выберите "Диспетчер информационных служб Интернета (IIS)".
- На панели задач нажмите "Пуск", а затем выберите "Панель управления".
- Дважды щелкните "Администрирование", а затем дважды щелкните "Диспетчер информационных служб Интернета (IIS)".
- Перейти к панели управления | Программы и функции | Включение или отключение функций Windows (требуется привилегированный режим).
- Отметьте «Информационные службы Интернета» и убедитесь, что также отмечены «Расширения ISAPI» и «Фильтры ISAPI».
- Нажмите кнопку "ОК", чтобы начать установку.
- Открыть Internet Information Service Manager (требуется привилегированный режим)
- Щелкните правой кнопкой мыши узел "Веб-сайт по умолчанию" и выберите "Добавить виртуальный каталог" во всплывающем меню:
- Выберите узел виртуального каталога (например, «ISAPI» в этом примере).
- Дважды щелкните значок "Сопоставления обработчиков".
- Нажмите «Изменить права доступа к функциям…» на панели «Действия».
- Откроется диалоговое окно «Редактировать разрешение функции».
- Отметьте «Выполнить».
- Нажмите кнопку "ОК", чтобы применить изменения.
- Выберите узел виртуального каталога (например, «ISAPI» в этом примере).
- Дважды щелкните значок "Просмотр каталога".
- Нажмите «Включить» на панели «Действия».
- Выберите узел виртуального каталога.
- Дважды щелкните значок "Аутентификация".
- Нажмите, чтобы выбрать элемент «Анонимная аутентификация».
- Нажмите «Изменить…» на панели «Действия».
- Появится диалоговое окно.
- Проверьте «Идентификатор пула приложений» и нажмите кнопку «ОК», чтобы зафиксировать изменения.
- Нажмите корневой узел.
- Дважды щелкните значок "Ограничения ISAPI и CGI".
- Нажмите «Изменить настройку функции…» на панели «Действия».
- Отметьте параметр «Разрешить неуказанные модули ISAPI». Этот параметр позволяет запускать любую ISAPI dll под IIS. Если вы не используете этот параметр, вам потребуется явно указать список ISAPI DLL.
- Выберите узел виртуального каталога (например, «ISAPI» в этом примере).
- Щелкните правой кнопкой мыши узел и выберите «Изменить разрешение» во всплывающем меню.
- Открывается диалоговое окно свойств.
- Перейти на страницу "Безопасность".
- Нажмите кнопку "Изменить", чтобы открыть диалоговое окно "Разрешения".
- Добавьте «IIS_IUSRS» в список разрешений.
- Нажмите узел "Пулы приложений".
- Нажмите элемент "DefaultAppPool".
- Нажмите «Дополнительные настройки…» на панели «Действия».
- Откроется диалоговое окно «Дополнительные настройки».
- Установите для параметра "Включить 32-разрядные приложения" значение True.
- Нажмите кнопку "ОК", чтобы применить изменения.
- Нажмите узел "Пулы приложений".
- Щелкните правой кнопкой мыши элемент "DefaultAppPool" и выберите элемент "Переработать...".
- Перейти к панели управления | Программы и функции | Включение или отключение функций Windows (требуется привилегированный режим).
- Отметьте «Информационные службы Интернета» и убедитесь, что установлен флажок «CGI».
- Нажмите кнопку "ОК", чтобы начать установку.
- Нажмите корневой узел.
- Дважды щелкните значок "Ограничения ISAPI и CGI".
- Нажмите «Изменить настройку функции…» на панели «Действия».
- Отметьте параметр «Разрешить неуказанные модули CGI».
- На что похоже потоковое компьютерное представление
- Игра, в которой нужно сломать компьютер
- Как вставить изображение в код qr
- Что такое аббревиатура DNS
- Проблемы с кабелем на ноутбуке
Windows 8 или Windows 8.1
Windows Server 2008 или Windows Server 2008 R2
Windows Vista или Windows 7
Как
Как добавить ограничение ISAPI или CGI
Открыть диспетчер информационных служб Интернета (IIS):
Если вы используете Windows Server 2012 или Windows Server 2012 R2:
Если вы используете Windows 8 или Windows 8.1:
Если вы используете Windows Server 2008 или Windows Server 2008 R2:
Если вы используете Windows Vista или Windows 7:
На панели "Подключения" щелкните имя сервера.
На главной панели дважды щелкните Ограничения ISAPI и CGI.
На панели "Действия" нажмите "Добавить".
В диалоговом окне "Добавить ограничение ISAPI или CGI" введите путь к двоичному файлу, который вы хотите добавить, в поле "Путь ISAPI или CGI", введите описание двоичного файла в поле "Описание", выберите параметр "Разрешить путь расширения" для выполнения. установите флажок, чтобы разрешить выполнение двоичного файла на сервере, а затем нажмите кнопку ОК.
Конфигурация
Коллекцию можно настроить только на уровне сервера в файле ApplicationHost.config.
Атрибуты
Атрибут | Описание |
---|---|
разрешено | Обязательный логический атрибут . таблица>
Указывает, разрешает или запрещает выполнение ограничения модуль CGI или ISAPI на сервере. Указывает понятное описание группы, связанной с этим groupID. Указывает идентификатор группы приложения, которое зависит от ограничения расширения. Указывает путь к модулю CGI или ISAPI в файловой системе сервера. Хорошо, сейчас 2020 год, и сколько людей разрабатывают расширения ISAPI? Больше, чем вы можете себе представить. Да, Ruby on Rails и Rust сейчас в моде, но некоторым людям все еще нужно работать с ISAPI по ряду бизнес-причин. Недавно мне пришлось настроить IIS 10 для работы с ISAPI на Windows 10. Я прочитал много статей о том, как это сделать.Ни один из них не был завершен, в результате чего я прочитал несколько статей, чтобы заставить что-то работать, поэтому я собрал это вместе, в основном для собственной выгоды (потому что мне действительно не нужно тратить столько времени на это снова!). Я делюсь этим, чтобы вам не пришлось через это проходить. Если вы разрабатываете 32-разрядное расширение ISAPI, есть интересный момент. Не волнуйтесь, я расскажу об этом в конце. Я пытался заставить работать простое расширение ISAPI, прежде чем пробовать что-либо еще. Я предполагаю, что большинство из вас работает с устаревшим кодом, но некоторые из вас, возможно, получили указание написать новый ISAPI. Вот хорошая отправная точка для простого расширения ISAPI, если вы его еще не написали. Компоненты IIS устанавливаются через диалоговое окно компонентов Windows. В поле поиска Windows 10 введите "Включение и отключение функций Windows", когда окна отобразят вам соответствующий результат, нажмите клавишу возврата (или щелкните по нему).
Отображается окно выбора функции. Выберите элементы, выделенные красным цветом на изображении ниже. Нажмите "ОК".
Если вы уже частично настроили Диспетчер IIS и поняли, что у вас не установлены все необходимые компоненты, это нормально, просто установите их, а затем закройте Диспетчер IIS и снова откройте его (я обнаружил, что если я не сделать так, чтобы не все компоненты отображались в диспетчере IIS, что сделало бы невозможным поиск, например, ограничений ISAPI и CGI. Запустите диспетчер информационных служб Интернета. Веб-сайтПрежде всего нам нужен веб-сайт для работы. Если он у вас уже есть, пропустите следующие несколько строк. Добавить тестовый веб-сайт. Щелкните правой кнопкой мыши Сайты в меню слева и выберите Добавить веб-сайт… Выберите имя веб-сайта. Например: «тест». Выберите место для веб-сайта. Например: C:\testISAPIWebsite Измените номер порта (просто для проверки), чтобы он не конфликтовал с другими вашими сайтами. Например: 81. Сопоставления обработчиковВыберите узел сервера с левой стороны и дважды щелкните значок Handler Mappings справа.
Отображаются сопоставления обработчиков.
Щелкните правой кнопкой мыши в пустом месте и выберите "Редактировать разрешения функций...". Отображается диалоговое окно "Редактировать разрешения функции". Включите разрешения на чтение, выполнение сценариев и выполнение. Когда вы установите флажок «Выполнить», вы заметите, что запись для DLL ISAPI добавляется к отображаемым сопоставлениям обработчиков. Нажмите "ОК".
Ограничения ISAPI и CGIВыберите узел сервера слева и дважды щелкните «Ограничения ISAPI и CGI» справа. Щелкните правой кнопкой мыши в пустом месте и выберите Добавить…. Добавьте путь к вашей ISAPI dll, описание и установите флажок, чтобы разрешить ее выполнение. Нажмите "ОК".
Это поместит web.config в каталог, содержащий DLL. Это будет выглядеть примерно так: 32-битные расширения ISAPIЕсли у вас 32-разрядная версия ISAPI, вам необходимо включить их. Перейдите к пулам приложений (под узлом сервера), выберите пул приложений, в котором находится ваш веб-сайт, щелкните правой кнопкой мыши и выберите Дополнительные настройки…. Установите для параметра Включить 32-разрядные приложения значение True.
64-битные расширения ISAPIЕсли у вас 64-разрядный интерфейс ISAPI, убедитесь, что у вас не включены 32-разрядные расширения. Перейдите к пулам приложений (под узлом сервера), выберите пул приложений, в котором находится ваш веб-сайт, щелкните правой кнопкой мыши и выберите Дополнительные настройки…. Установите для параметра Включить 32-разрядные приложения значение False. Проблемы аутентификацииЕсли при попытке просмотреть веб-страницы вы получаете странные сообщения об ошибках, выберите узел сервера слева, затем перейдите в раздел "Делегирование функций" и включите все записи, "Только для чтения". ” на «Чтение/запись». Затем перезапустите сервер (в верхней части правой панели). Обратите внимание, что я предполагаю, что вы работаете на компьютере для разработчиков.Если вы работаете на производственной машине, возможно, вы захотите проявить немного меньше бесцеремонности, чем просто перевести все настройки в режим чтения/записи — просматривайте их по очереди, чтобы выяснить, что вам нужно, и измените только это. Windows 7 IIS7 требует некоторых настроек для работы ISAPI DLL. Это не так просто по сравнению с IIS 5. Установите IIS 7
Настроить для ISAPI DLLДобавить виртуальный каталогВо-первых, вам может потребоваться добавить виртуальный каталог для размещения ISAPI DLL:
Введите «Псевдоним» и «Физический путь» виртуального каталога:
Включить ISAPI для виртуального каталогаЧтобы включить ISAPI для виртуального каталога:
Включить просмотр каталогов для виртуального каталогаЭто необязательно, но удобно. Чтобы включить просмотр каталогов для виртуального каталога:
Изменить учетные данные для анонимной аутентификации
Включить модули ISAPI
Редактировать разрешение для виртуального каталога
Включить 32-битную ISAPI DLL на IIS 7 x64Это требуется только в том случае, если вы используете IIS7 x64 и хотите запустить 32-разрядную ISAPI DLL на IIS. Если у вас ISAPI DLL и IIS7 и x86, и x64, вы можете пропустить этот шаг.
Если вы не включили эти параметры для 32-разрядных приложений, вы можете столкнуться со следующими ошибками при выполнении ISAPI из веб-браузера: Страница не может быть отображена, так как произошла внутренняя ошибка сервера.Теперь вы можете развернуть библиотеки DLL ISAPI в виртуальный каталог и начать выполнение библиотеки из веб-браузера. DataSnap и ISAPI DLLВы можете создать библиотеку Delphi DataSnap ISAPP DLL и развернуть ее в IIS. Время от времени вы можете столкнуться с ошибкой компиляции во время разработки или развертывания, если вы использовали ISAPI DLL. Это связано с тем, что вызываемая ISAPI DLL будет кэшироваться в пуле приложений. Вы не можете перезаписывать ISAPI DLL во время ее кэширования. Чтобы решить эту проблему, вам необходимо выполнить операцию Recycle:
Развертывание в виде ISAPI DLL рекомендуется на этапе развертывания, поскольку IIS будет кэшировать ISAPI DLL из соображений производительности. Однако кэширование может оказаться нецелесообразным на этапе разработки, поскольку необходимо выполнять перезапись при перезаписи ISAPI DLL путем частой компиляции или перезаписи. Вы можете скомпилировать серверные модули как приложение CGI во время разработки. Каждый вызов CGI является отдельным процессом ОС и не будет кэшироваться пулом приложений IIS. Установите CGI на IIS
Включить модуль CGI
|