Веб-доступ к базе 1С через IIS 7.5 на Windows Server 2008 R2
Содержание
Чтобы опубликовать 1С на веб-сервере IIS 2008 (точнее, IIS 7.5 в Windows Server 2008 R2), нужны три вещи: роль IIS с расширениями ISAPI, установленные «Модули расширения веб-сервера» 1С той же разрядности, что и пул приложений, и права группы IIS_IUSRS на каталог платформы и каталог базы. Саму публикацию делает Конфигуратор, запущенный от имени администратора: Администрирование → Публикация на веб-сервере.
Частое заблуждение — что на старом сервере достаточно «нажать Опубликовать», а дальше всё заработает. На практике 2008 R2 ломается на двух местах: разрядность модуля и протокол TLS для HTTPS. Обе темы ниже разобраны отдельно.
Windows Server 2008 R2 давно снята с поддержки Microsoft (расширенная поддержка закончилась в январе 2020 года). Новые версии платформы 1С могут её не поддерживать — перед установкой сверьте системные требования именно вашей сборки платформы.
Что проверить на сервере до установки
Начните с инвентаризации. Половина проблем публикации решается ещё до первого клика в Конфигураторе.
- 🖥️ Операционная система. Windows Server 2008 R2 с установленным Service Pack 1 и накопительными обновлениями. Без SP1 многие современные компоненты не встанут.
- 🧮 Разрядность. Сервер 2008 R2 только 64-битный. IIS по умолчанию запускает 64-битные рабочие процессы
w3wp.exe. - 💾 Версия платформы 1С. Запишите точный номер сборки, например 8.3.xx.yyyy. Модуль веб-сервера должен быть той же версии, что и сервер 1С (для клиент-серверной базы) или платформа, которой открывается файловая база.
- 🔑 Лицензии. Веб-клиент и тонкий клиент через веб занимают клиентские лицензии. Для клиент-серверной базы их выдаёт кластер 1С, для файловой — лицензию получает компьютер с веб-сервером.
- 🌐 Сеть. Решите заранее, будет ли доступ только из локальной сети или из интернета. От этого зависят порты (80 или 443) и необходимость сертификата.
- 📁 Где лежит база. Файловая база — путь на диске сервера (лучше локальный, не сетевой). Клиент-серверная — имя сервера 1С и имя базы в кластере.
Для файловой базы держите её на том же сервере, где стоит IIS. Публикация файловой базы с сетевой папки требует отдельной учётной записи для пула приложений и часто упирается в права.
Роль IIS 7.5 и обязательные компоненты
В Windows Server 2008 R2 веб-сервер ставится как роль через Диспетчер сервера.
- Откройте
Диспетчер сервера → Роли → Добавить роли. - Отметьте роль Веб-сервер (IIS), нажмите «Далее» до списка служб ролей.
- В группе Основные возможности HTTP оставьте статическое содержимое, документ по умолчанию и ошибки HTTP.
- В группе Разработка приложений обязательно отметьте Расширения ISAPI и Фильтры ISAPI. Без них модуль 1С не загрузится.
- Если нужен вход по учётной записи Windows, в группе Безопасность отметьте Проверку подлинности Windows.
- В Средствах управления оставьте Консоль управления IIS.
- Завершите мастер и проверьте, что по адресу
http://localhostоткрывается стартовая страница IIS.
Короткая шпаргалка по компонентам:
| Компонент | Нужен | Зачем |
|---|---|---|
| Расширения ISAPI | Обязательно | Через него работает wsisapi.dll — модуль 1С |
| Фильтры ISAPI | Обязательно | Требование модуля расширения 1С |
| Статическое содержимое | Обязательно | Отдача скриптов и картинок веб-клиента |
| Проверка подлинности Windows | По ситуации | Вход в 1С по учётной записи домена |
| ASP.NET | Не нужен | 1С его не использует |
Установка модулей расширения веб-сервера 1С
Публикация невозможна, пока на сервере нет модуля wsisapi.dll. Он ставится вместе с платформой, но только если отметить нужный компонент.
- Запустите установщик платформы той же версии, что и у сервера 1С.
- В списке компонентов включите Модули расширения веб-сервера.
- Если на этом же сервере будет открываться Конфигуратор для публикации, оставьте и компонент 1С:Предприятие (толстый клиент и Конфигуратор).
- После установки проверьте, что в каталоге
C:\Program Files\1cv8\<версия>\binесть файлwsisapi.dll.
Разрядность: главный подводный камень
Модуль 1С должен совпадать по разрядности с рабочим процессом IIS.
- ✅ Установлена 64-битная платформа → пул приложений работает в 64-битном режиме, менять ничего не надо.
- ⚠️ Установлена только 32-битная платформа (
C:\Program Files (x86)\1cv8) → в диспетчере IIS откройтеПулы приложений → DefaultAppPool → Дополнительные параметрыи установите «Разрешены 32-разрядные приложения» вTrue.
Если смешать разрядности, IIS не сможет загрузить библиотеку, и браузер покажет ошибку 500 вместо входа в 1С.
Публикация базы из Конфигуратора и через webinst
Через Конфигуратор
- Запустите 1С от имени администратора (правой кнопкой по ярлыку). Без повышенных прав Конфигуратор не сможет записать настройки IIS.
- Откройте базу в режиме Конфигуратор.
- Выберите
Администрирование → Публикация на веб-сервере. - Заполните поля:
- Имя — латиницей, без пробелов, например
buh. Оно станет частью адреса:http://server/buh. - Веб-сервер — Internet Information Services.
- Каталог — например
C:\inetpub\wwwroot\buh.
- Имя — латиницей, без пробелов, например
- Отметьте нужное: тонкий клиент и веб-клиент, веб-сервисы, HTTP-сервисы, стандартный интерфейс OData — только то, чем реально будут пользоваться.
- Нажмите Опубликовать. Согласитесь на перезапуск веб-сервера.
После публикации в каталоге появятся два файла: default.vrd (настройки 1С) и web.config (настройки IIS с путём к wsisapi.dll).
Через командную строку
Утилита webinst.exe лежит в том же каталоге bin. Удобна, когда Конфигуратора на сервере нет или публикаций много:
cd "C:\Program Files\1cv8\8.3.xx.yyyy\bin"
webinst.exe -publish -iis -wsdir buh -dir "C:\inetpub\wwwroot\buh" -connstr "Srvr=""srv1c"";Ref=""buh"";"
Для файловой базы строка соединения выглядит так: -connstr "File=""D:\Bases\buh"";". Полный список ключей выводит сама утилита при запуске без параметров.
Путь к wsisapi.dll записан в web.config с номером версии. После обновления платформы публикацию нужно повторить, иначе IIS продолжит загружать модуль старой версии, и клиент-серверная база откажет в подключении из-за несовпадения версий.
Права доступа и безопасность, включая HTTPS
Права на каталоги
Рабочий процесс IIS работает от имени пула приложений, которое входит в группу IIS_IUSRS. Выдайте ей права:
| Каталог | Права для IIS_IUSRS |
|---|---|
C:\Program Files\1cv8\<версия>\bin | Чтение и выполнение |
Каталог публикации (C:\inetpub\wwwroot\buh) | Чтение |
| Каталог файловой базы | Изменение |
Для клиент-серверной базы права на её каталог не нужны: данные лежат на SQL-сервере, а IIS обращается к кластеру 1С по сети (порт агента 1540, затем менеджер кластера и рабочие процессы).
Аутентификация
- 🔐 Анонимная проверка IIS + пароль 1С — стандартный вариант. IIS пускает всех, а логин и пароль спрашивает сама 1С.
- 🏢 Проверка подлинности Windows — для доменной сети. Включите её в IIS для приложения и разрешите пользователям 1С вход по аутентификации операционной системы.
Не публикуйте базу в интернет, если у пользователя «Администратор» пустой пароль. Боты перебирают адреса вида /buh, /bp, /zup постоянно.
HTTPS на IIS 7.5
- Импортируйте сертификат в хранилище компьютера (оснастка
Сертификаты серверав IIS). - В
Сайты → Default Web Site → Привязкидобавьте привязкуhttps, порт 443, выберите сертификат. - В параметрах SSL приложения включите «Требовать SSL», если HTTP должен быть закрыт.
IIS 7.5 не умеет SNI. На одном IP-адресе и порту 443 работает только один сертификат. Для нескольких доменов берите сертификат с несколькими именами (SAN) или wildcard.
Второй нюанс — протоколы. В Windows Server 2008 R2 TLS 1.1 и 1.2 по умолчанию выключены, а современные браузеры по TLS 1.0 уже не подключаются. Включите TLS 1.2 в реестре:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server]
"Enabled"=dword:00000001
"DisabledByDefault"=dword:00000000
После правки нужна перезагрузка сервера. Перезагрузка оборвёт все сеансы 1С — делайте её вне рабочего времени и предупредите пользователей.
Ошибки публикации и настройка производительности
Типовые ответы IIS указывают на конкретную причину. Выберите свой симптом:
Настройки пула приложений
По умолчанию IIS перезапускает пул каждые 1740 минут (29 часов) и останавливает его после 20 минут простоя. Для 1С это неудобно: перезапуск пула разрывает сеансы веб-клиента посреди дня.
- ⏰ В
Дополнительные параметры пула → Перезапускзамените регулярный интервал на запуск по расписанию в ночное время. - 💤 Тайм-аут простоя увеличьте или поставьте
0, чтобы первый пользователь утром не ждал холодного старта. - 🧩 Для каждой опубликованной базы удобно создать отдельный пул. Тогда сбой или перезапуск одной базы не задевает остальные.
- 🔢 Для файловой базы оставляйте один рабочий процесс на пул. Несколько процессов к одной файловой базе — лишние блокировки.
Для клиент-серверной базы основная нагрузка лежит на кластере 1С и SQL. IIS здесь только пересылает запросы, и 2 ГБ памяти под веб-роль обычно хватает с запасом.
Проверка работы и наблюдение
После публикации пройдите короткий маршрут проверки:
- В браузере на самом сервере откройте
http://localhost/buh. Должно появиться окно входа веб-клиента. - С рабочей станции откройте
http://имя-сервера/buh. Если локально работает, а удалённо нет — смотрите брандмауэр Windows (порт 80 или 443). - В тонком клиенте добавьте базу через «Добавить → Существующая информационная база», тип расположения «На веб-сервере», адрес
http://имя-сервера/buh. - Для веб-сервисов откройте
http://имя-сервера/buh/ws/ИмяСервиса?wsdl— должен вернуться WSDL-описание. - Для OData проверьте адрес
http://имя-сервера/buh/odata/standard.odata/. Без настроенного в базе состава OData список объектов будет пустым — это не ошибка публикации.
Где искать причины, если что-то идёт не так:
- 📄 Журналы IIS —
C:\inetpub\logs\LogFiles\W3SVC1. По коду ответа и подстатусу (например,500 19) сразу видно, на каком этапе отказ. - 🪟 Журнал событий Windows — раздел «Приложение»: туда попадают падения
w3wp.exeи ошибки загрузки модулей. - 🛠️ Технологический журнал 1С — включается файлом
logcfg.xmlв каталогеconfплатформы. Полезен, когда IIS отвечает 200, а 1С внутри работает с ошибками. - 📊 Монитор производительности — счётчики памяти и процессора для
w3wp.exeпоказывают, не упирается ли сервер в ресурсы.
Если IIS 7.5 не подходит: другие варианты
Старый сервер не всегда стоит чинить. Есть три рабочих альтернативы.
| Вариант | Когда выбрать | Чего ждать |
|---|---|---|
| Apache 2.4 на том же 2008 R2 | IIS конфликтует с другим ПО или не ставится | Публикация тем же Конфигуратором, тип веб-сервера Apache 2.4; конфигурация хранится в httpd.conf |
| Новый Windows Server с IIS 10 | Сервер обновляется в ближайший год | Поддержка SNI, TLS 1.2 по умолчанию, актуальные версии платформы |
| Linux с Apache | Есть администратор Linux | Не нужна лицензия Windows Server, публикация через webinst |
Переход на новую ОС решает сразу несколько проблем: обновления безопасности, совместимость со свежими сборками платформы и современный HTTPS без правок реестра. Если сервер смотрит в интернет, это лучший долгосрочный выбор.
Частые вопросы
Можно ли опубликовать на одном IIS несколько баз?
Нужна ли отдельная лицензия для веб-клиента?
Можно ли опубликовать на одном сервере базы разных версий платформы?
wsisapi.dll, а пулы приложений лучше разделить.Как удалить публикацию?
webinst с ключом -delete. Каталог публикации после этого можно удалить вручную.