Публикация баз 1С на веб-сервере IIS и возможные ошибки
Использование веб-сервера и публикаций информационных баз — один из способов оптимизации 1С. Особенно при работе с ИБ в файловом варианте. Так безопаснее. Сотрудники подключаются к ИБ 1С через браузер или тонкий клиент, не имея прямого доступа к файлам.
В статье расскажем, как решали возникающие вопросы по настройкам Internet Information Services. Через призму своего опыта и коллег.
Как правило, ошибки повторяются. Например, ошибка 0x800700c1 в IsapiModule или HTTP 500.0 Internal Server Error.
I. Как перевести опубликованные базы 1С на HTTPS-протоколПодробнее описано здесь. В проекте использовали бесплатный SSL-сертификат Let's Encrypt. Но поспешили отключить внешние соединения на 80-й порт — что было ошибкой.
Сертификат выдается сроком на 90 дней. Для автоматического продления создается периодическое задание в Планировщике. При запуске задачи сайт должен быть доступен (пройти проверку домена) по 80-му порту.
Вопрос решили установкой переадресации на 443-й порт средствами IIS (301-й редирект с http на https). Использовали стандартный модуль URL Rewrite. Запросы http автоматически перенаправляются сайтом на защищенный https.
II. Типовая настройка и публикация информационных баз на IIS
На что обратить внимание:
1. Состав компонентов IIS — в Интернете полно инструкций и указаний. Повторяться не будем.
2. Установка 1С необходимой разрядности. Варианта 2: x86 (32-разрядное приложение) или x64. Обязательно выбираем «Модули расширения веб-сервера».

3. Права для встроенной группы/пользователю веб-сервера (IUSR) на папки:
- с установленной платформой — на «чтение и выполнение» (для старта процессов);
- самих расположений ИБ — на «изменение» (в случае файлового варианта).
4. Публикация базы через Конфигуратор 1С. Возможно потребуется открыть программу с повышенными правами — «Запуск от имени администратора».
5. Для 32-разрядного клиента 1С в диспетчере IIS включаем разрешение запуска (DefaultAppPool — Дополнительные параметры — Разрешены 32-разрядные приложения = True). Для 1C x64 — значение не меняем.
6. На странице сопоставления обработчиков для «1С Web-service Extension» потребуется указать путь к исполняемому модулю:
- x86 — «C:\Program Files (x86)\1cv8\8.3.x.xx\bin\wsisapi.dll»;
- x64 — «C:\Program Files\1cv8\8.3.x.xx\bin\wsisapi.dll».
Либо изменяем путь к библиотеке в файлах web.config через Блокнот (располагается, как правило, в c:\inetpub\wwwroot\<имя базы>).
Если в п. 2 все сделано правильно — по указанному пути должен присутствовать файл wsisapi.dll.
7. В частных случаях требуется перезапуск служб IIS. Выполните «Перезапустить» в оснастке управления или перезагрузите сервер.
✅ Соблюдаем соответствие разрядности: если запускаем и публикуем 64-разрядный клиент 1С:Предприятие, то dll также должна быть 64-битной версии.
Если публикуем 32-разрядную версию 1С, то ставим разрешение запуска 32-разрядных приложений на IIS и проверяем путь к wsisapi из каталога x86.
Пример с более подробным описанием — установка веб-сервера IIS на Windows 10 Pro для 1С.
III. Если клиент 1С зависает при подключении к базе по web
Прежде посмотрите этот материал — там общие рекомендации.
Другой случай. Файловая ИБ опубликована на IIS. После авторизации зависает на эмблеме 1С. При открытии Конфигуратора — все нормально.
В журналах Windows ошибка «Процесс, обслуживающий пул приложений "1С", не ответил на команду ping».
Что посмотреть:
- проверьте права на папку с базой 1С для IUSR/IIS_IUSRS, уровень доступа — на «изменение»;
- в оснастке IIS «Пулы приложений — <пул_1С> — Дополнительные параметры — Модель процесса» задайте для «Максимальная задержка отклика при проверке связи» значение, превышающее 90 секунд;
- посмотрите на поведение IIS при «Проверка связи включена» = False.
? Из справки: установка [pingingEnabled] (Проверка связи) в значение false не позволит IIS проверять, выполняется ли рабочий процесс, и таким образом сохранит его активным до остановки процесса отладки.
✅ Установка «Максимальное время отклика пинга» в большое значение позволит IIS продолжать наблюдение за рабочим процессом.
IV. Ошибка сервера в приложении '/AO_SSR'
Информационная база 1C опубликована на IIS. При работе через тонкий клиент, при нажатии на «Отчеты» вываливается ошибка.
«Ошибка сервера в приложении '/AO_SSR'. Обнаружено потенциально опасное значение Request.Path, полученное от клиента.
Описание: Необработанное исключение при выполнении текущего веб-запроса. Изучите трассировку стека для получения дополнительных сведений о данной ошибке и о вызвавшем ее фрагменте кода.
Сведения об исключении: System. Web. HttpException».
✅ Откройте настройки пула приложений и проверьте «Режим управляемого конвейера» = «Classic».
Диспетчер служб IIS — Пулы приложений — DefaultAppPool — Дополнительные параметры — Общие ↴

V. Работа IIS с разными релизами платформ 1С
Частный вариант. Установлены два сервера 1С версий 8.3.16 и 8.3.18 (на разных диапазонах портов). Есть опубликованная база на 8.3.16, а также база на 8.3.18.
При этом база на 8.3.16 доступна, а на 8.3.18 появляется ошибка «HTTP 500.0 — Internal Server Error».
Если перезапустить службы IIS, то получается наоборот. База на 8.3.18 становится доступной, а на 8.3.16 — с той же ошибкой. И так по кругу.
✅ Возможный выход — разнесение публикаций на разные пулы приложений через оснастку управления IIS.
VI. Подробнее об ошибке HTTP 500.0
В первую очередь смотрим официальную статью Microsoft и рекомендации по дополнительному коду HResult. Например, по 0x800700c1 сообщается следующее.
0x800700c1 — «Сопоставление сценария является не допустимым»
Далее плавно переходим в пункт «II. Типовая настройка и публикация информационных баз на IIS» и проверяем сопоставление обработчиков.
✅ Если требуется одновременная поддержка 32 и 64-битных версий 1С, то добавьте в конфигурацию IIS дополнительный пул (например, DefaultAppPool32), включив у него поддержку 32-битных приложений.
У всех 32-битных публикаций в основных настройках web-сервера выберите этот пул приложений. У 64-битных публикаций — оставьте пул приложений DefaultAppPool (по умолчанию), у которого поддержка 32-битных приложений отключена.