Публикация баз 1С на веб-сервере Microsoft IIS: AppPool, SSL и HTTP/2
- Ошибка
HTTP Error 500.19 - Internal Server Errorиз-за некорректных прав наweb.config. - Ошибка
HTTP Error 500.0 - Module DLL wsndhttp.dll failed to load(конфликт 32-bit и 64-bit пула). - Периодические 'засыпания' или перезапуски пула приложений IIS, приводящие к обрыву веб-сеансов.
- Необходимость шифрования HTTPS трафика для защиты учетных записей веб-клиентов.
1. Установка компонентов IIS в Windows Server
Через Server Manager установите следующие службы роли Web Server (IIS):
- Web Server -> Common HTTP Features (Static Content, Default Document);
- Web Server -> Application Development (ISAPI Extensions, ISAPI Filters, ASP.NET 4.8);
- Management Tools -> IIS Management Console.
2. Настройка выделенного пула приложений (Application Pool)
- В диспетчере IIS создайте отдельный пул приложений (например,
1C_Trade_Pool). - Откройте Дополнительные параметры (Advanced Settings) пула:
- Версия среды CLR .NET: Без управляемого кода (No Managed Code);
- Разрешить 32-разрядные приложения:
False(для 64-битной платформы 1С); - Модель процесса -> Удостоверение (Identity):
ApplicationPoolIdentityили специализированная сервисная учетная запись; - Режим ожидания (Idle Time-out): установите
0(отключает сброс пула при простое); - Регулярный интервал времени (Recycling): установите
0(отключает периодическую перезагрузку пула).
3. Публикация базы из Конфигуратора
- Запустите Конфигуратор 1С от имени администратора.
- Меню Администрирование -> Публикация на веб-сервере...
- Укажите имя виртуального каталога, выберите веб-сервер Internet Information Services, путь к папке и назначьте созданный ранее пул
1C_Trade_Pool. - Нажмите кнопку Опубликовать.
4. Настройка прав файловой системы
Выдайте права Read & Execute, List Folder Contents, Read группе IIS_IUSRS и встроенной учетной записи IUSR на каталог физической публикации базы (например, C:\inetpub\wwwroot\trade_base).
5. Привязка SSL (HTTPS) сертификата
- В диспетчере IIS перейдите в свойства Default Web Site -> Привязки (Bindings).
- Добавьте привязку: тип
https, порт443, выберите валидный SSL-сертификат (Let's Encrypt / Корпоративный CA). - В настройках SSL публикации базы выберите Требовать SSL (Require SSL).
Частые вопросы (FAQ)
Почему возникает ошибка wsndhttp.dll failed to load (0x800700c1)?
Это происходит из-за несовпадения разрядности: 64-битный пул IIS пытается загрузить 32-битную DLL модуля 1С (или наоборот). Проверьте опцию 'Разрешить 32-разрядные приложения' в свойствах пула.
Зачем отключать Idle Time-out в пуле приложений 1С?
По умолчанию IIS выгружает рабочий процесс w3wp.exe через 20 минут простоя. При отключенном таймауте база остается загруженной в памяти, и первый утренний вход пользователей происходит мгновенно.
Можно ли публиковать несколько баз 1С в одном пуле приложений?
Технически можно, но для надежности рекомендуется создавать отдельный Application Pool для каждой высоконагруженной информационной базы.
Как включить сжатие трафика HTTP для ускорения веб-клиента 1С?
Включите Dynamic Content Compression в компонентах IIS и активируйте сжатие в файле web.config.