Под капотом IIS, или как сделать WEB публикацию базы 1С без конфигуратора
В интернете есть много инструкций как установить Internet Information Services и опубликовать на нем базу, будь то файловую, или клиент-серверную. Но, крайне мало кто пытается разобраться, как IIS работает, и что делает платформа при публикации базы. В этой статье я покажу как опубликовать базу на IIS без использования конфигуратора.
- Описание
- Подробнее
Описание
Общая информация
Для начала уточним, что для корректной работы 1С с веб-серверами используются библиотеки, которые используют API веб-сервера, так называемые Internet Server API (ISAPI). Для IIS такая библиотека называется «wsisapi.dll», и находится она в папке bin установленной платформы 1С. Именно поэтому при установке IIS необходимо проследить, чтобы был выбран компонент «Расширения ISAPI (eng: ISAPI Extensions)».
Общение с веб-сервером происходит через Менеджер. Функционально Менеджер IIS является просто GUI оболочкой для отображения информации из конфигурационных файлов формата XML. Быстро посмотреть их можно через «Редактор конфигурации (eng: Configuration Editor)» -> «Поиск по конфигурации (eng: Search Configuration)».
На практике, все, что нужно для 1С, изменяется в конфигурационном файле хоста «ApplicationHost.config». Этот файл можно открыть в любом удобном текстовом редакторе.

В конфигурационном файле хранятся такие интересующий нас настройки, как установленные модули ISAPI, настройки пулов приложений, а также сайтов.
Также каждая публикация 1С может иметь собственные настройки конфигурации, которые накладываются на общие настройки хоста и имеют больший приоритет. Это файл «web.config», который лежит в папке публикации вместе с файлом описания публикации «default.vrd».
Настройка веб-сервера для работы с 1С
На девственно чистый IIS установим модуль ISAPI от 1С:
Находясь в корне сервера выберем пункт настройки «Сопоставления обработчиков (eng: Handler Mappings)», и выберем пункт «Добавить сопоставления сценария (eng: Add Script Map)», и пропишем наш обработчик 1С:
Путь запроса (eng: Request path): * (любой, так как предполагается, что на данном веб-сервере будут только приложения 1С)
Исполняемый файл (eng: Executable): <путь к актуальной платформе>\bin\wsisapi.dll
Имя (eng: Name): 1С (любое на ваш вкус, значения не имеет)
Задать «Ограничения запроса (eng: Request Restrictions)»:
На закладке «Сопоставление (eng: Mapping)» убрать галку, а на закладке «Доступ (eng: Access)» установить уровень доступа «Выполнение (eng: Execute)».
При сохранении настроек Менеджер IIS спросит, разрешить ли данное расширение ISAPI? Согласимся с ним, нажмем «Да».
Таким образом, в конфигурационный файл хоста «ApplicationHost.config» в тег «handlers» запишется информация о нашем модуле обработчике:

А также в тег «isapiCgiRestriction» пропишется разрешение на исполнение нашего модуля:


