Публикация базы 1С:Предприятие 8.3 на веб-сервере IIS: от кластера до первого входа
Содержание
Чтобы опубликовать базу 1С на сервере, нужны три вещи: веб-сервер IIS с модулем ISAPI, установленный компонент платформы «Модули расширения веб-сервера» и Конфигуратор, запущенный от имени администратора. Публикация делается в Администрирование → Публикация на веб-сервере: задаёте имя, каталог и жмёте «Опубликовать». После этого база открывается по адресу http://сервер/имя в браузере, тонком клиенте или мобильном приложении.
Ниже — порядок для Windows Server и клиент-серверной базы. Отличия для файловой базы и Apache отмечены там, где они есть.
Что подготовить на сервере до публикации
Публикация ломается чаще всего не в Конфигураторе, а на этапе подготовки. Проверьте четыре пункта.
1. Роль веб-сервера IIS. В Диспетчер серверов → Управление → Добавить роли и компоненты включите роль «Веб-сервер (IIS)». В разделе «Разработка приложений» отметьте:
- ✅ Расширения ISAPI;
- ✅ Фильтры ISAPI;
- ✅ Средства управления → Консоль управления IIS.
На Windows 10/11 то же самое включается в Панель управления → Программы → Включение или отключение компонентов Windows → Службы IIS.
2. Модули расширения веб-сервера. Запустите установщик платформы той же версии, что стоит на сервере 1С, выберите «Изменить» и отметьте компонент «Модули расширения веб-сервера». Без него в списке веб-серверов Конфигуратора будет пусто или публикация завершится ошибкой.
3. Разрядность. IIS по умолчанию работает в 64-битном режиме. Если на веб-сервере стоит 32-битная платформа, пул приложений придётся переключить (об этом ниже). Проще сразу ставить 64-битную платформу.
4. Сеть. Веб-сервер должен видеть сервер 1С. Стандартные порты:
| Что | Порт по умолчанию |
|---|---|
| Агент сервера (ragent) | 1540 |
| Менеджер кластера (rmngr) | 1541 |
| Рабочие процессы (rphost) | диапазон 1560–1591 |
| Веб-сервер для пользователей | 80 (HTTP) или 443 (HTTPS) |
Если веб-сервер и сервер 1С — одна машина, сетевой вопрос отпадает. Для небольшой компании на 10–20 пользователей это нормальная схема.
Шаг 1. Регистрируем информационную базу в кластере серверов
Для клиент-серверного варианта база должна существовать в кластере. Если она уже работает у пользователей через тонкий клиент — шаг пропускайте.
Новую базу регистрируют в консоли «Администрирование серверов 1С Предприятия»:
- Раскройте
Central 1C:Enterprise 8.3 servers → имя сервера → Кластеры → Local cluster → Информационные базы. - Правой кнопкой по «Информационные базы» →
Создать → Информационная база. - Заполните поля:
- Имя — короткое, латиницей, без пробелов, например
buh. Это имя пойдёт в строку подключенияRef=. - Сервер баз данных — имя или адрес сервера СУБД.
- Тип СУБД — MS SQL Server или PostgreSQL.
- База данных — имя базы в СУБД.
- Пользователь и пароль сервера БД.
- Разрешить выдачу лицензий сервером 1С:Предприятия — «Да», если лицензии лежат на сервере.
- Для новой пустой базы — флажок «Создать базу данных в случае ее отсутствия».
- Имя — короткое, латиницей, без пробелов, например
- Нажмите «ОК».
Тот же результат даёт окно запуска 1С: Добавить → Создание новой информационной базы → На сервере 1С:Предприятия. Это удобнее, если консоль администрирования не установлена.
Для файловой базы регистрация в кластере не нужна. Публикация в этом случае указывает прямо на каталог с файлом 1Cv8.1CD, а строка подключения выглядит как File="D:\Bases\buh";.
Шаг 2. Публикуем базу через Конфигуратор
Публиковать нужно из Конфигуратора, запущенного от имени администратора Windows. Без повышенных прав Конфигуратор не сможет создать виртуальный каталог в IIS и выдаст ошибку доступа.
- Правой кнопкой по ярлыку 1С → «Запуск от имени администратора».
- Откройте базу в режиме Конфигуратора. Подключайтесь к ней тем способом, каким будут работать пользователи (через сервер, а не к копии).
- Меню
Администрирование → Публикация на веб-сервере. - Заполните окно:
| Поле | Что указать |
|---|---|
| Имя | Часть адреса: buh → http://сервер/buh |
| Веб-сервер | Internet Information Services |
| Каталог | По умолчанию C:\inetpub\wwwroot\buh, менять обычно не нужно |
| Публиковать тонкий клиент и веб-клиент | Включить |
| Публиковать стандартный интерфейс OData | Только если нужна интеграция |
| Вкладки Web-сервисы и HTTP-сервисы | Отметить нужные сервисы конфигурации |
- Нажмите «Опубликовать». Конфигуратор спросит про перезапуск веб-сервера — согласитесь.
Перезапуск IIS обрывает работу всех опубликованных на нём баз. Если на этом же веб-сервере уже трудятся пользователи, публикуйте новую базу в обеденный перерыв или вечером.
В каталоге публикации появится файл default.vrd. Это описание публикации: адрес, строка подключения, список сервисов. Для клиент-серверной базы он выглядит так:
<?xml version="1.0" encoding="UTF-8"?>
<point xmlns="http://v8.1c.ru/8.2/virtual-resource-system"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
base="/buh"
ib="Srvr="srv1c";Ref="buh";">
</point>
Публикация без Конфигуратора: утилита webinst
Если баз много или нужна автоматизация, используйте webinst.exe из каталога bin платформы. Командную строку тоже запускайте от администратора:
cd "C:\Program Files\1cv8\8.3.xx.xxxx\bin"
webinst.exe -publish -iis -wsdir buh -dir "C:\inetpub\wwwroot\buh" -connstr "Srvr=srv1c;Ref=buh;"
Вместо 8.3.xx.xxxx подставьте номер вашей версии платформы. Удалить публикацию можно ключом -delete с теми же -wsdir и -dir. Полный список ключей выводит webinst.exe без параметров.
Шаг 3. Проверяем виртуальный каталог и пул приложений в IIS
Конфигуратор делает основную работу сам, но после публикации стоит заглянуть в «Диспетчер служб IIS» (inetmgr).
Виртуальный каталог
В дереве Сайты → Default Web Site должно появиться приложение buh. Откройте у него «Сопоставления обработчиков»: там должен быть обработчик для пути *, который ведёт на wsisapi.dll в каталоге bin вашей версии платформы.
Если в пути к wsisapi.dll указана другая версия платформы, чем установлена сейчас, — это главный признак проблемы после обновления 1С (см. раздел про ошибки).
Ограничения ISAPI и CGI
На уровне сервера в IIS откройте «Ограничения ISAPI и CGI». Библиотека wsisapi.dll должна быть в списке с отметкой «Разрешено». Если её нет или стоит запрет — IIS ответит ошибкой 404.2.
Пул приложений
Откройте Пулы приложений → DefaultAppPool (или отдельный пул, если вы его создали) → «Дополнительные параметры»:
- 🔹 Разрешены 32-разрядные приложения —
Trueтолько при 32-битной платформе на веб-сервере. Для 64-битной —False. - 🔹 Режим управляемого конвейера — «Встроенный» подходит.
- 🔹 Удостоверение — учётная запись, от имени которой IIS обращается к файлам платформы и базы.
Под каждую крупную базу удобно завести отдельный пул. Тогда зависание одной публикации не тянет за собой остальные, а перезапуск пула не затрагивает соседей.
Права доступа и безопасность опубликованной базы
Права на файлы
Учётной записи пула (по умолчанию группа IIS_IUSRS) нужны:
| Каталог | Права |
|---|---|
C:\Program Files\1cv8\8.3.xx.xxxx\bin | Чтение и выполнение |
Каталог публикации C:\inetpub\wwwroot\buh | Чтение |
| Каталог файловой базы (только для файлового варианта) | Изменение |
Для клиент-серверной базы права на каталог базы не нужны: данные лежат в СУБД, а к серверу 1С подключается модуль расширения.
Аутентификация
По умолчанию в IIS включена анонимная проверка подлинности, а пароль спрашивает уже сама 1С. Это рабочая схема при условии, что:
- 🔐 у всех пользователей 1С заданы пароли;
- 🔐 пользователь без пароля и с полными правами удалён или ему запрещён вход;
- 🔐 база не торчит в интернет по голому HTTP.
Если нужен вход по учётной записи Windows, включите в IIS «Проверку подлинности Windows» и разрешите аутентификацию ОС у пользователей 1С.
Публикация наружу
Не открывайте базу в интернет по HTTP: логин и пароль 1С уйдут открытым текстом. Минимальный набор:
- Сертификат (Let’s Encrypt или коммерческий) и привязка HTTPS на порт 443 в IIS:
Default Web Site → Привязки. - Перенаправление с 80 на 443 или закрытый 80-й порт на межсетевом экране.
- Наружу пробрасывается только 443. Порты кластера 1540, 1541 и 1560–1591 в интернет не открывать.
- По возможности — доступ через VPN или ограничение по IP-адресам офисов.
Перед открытием доступа сделайте резервную копию базы и согласуйте схему с тем, кто отвечает за безопасность сети. Опубликованная база — это ещё одна дверь в учёт компании.
Как пользователям подключиться к опубликованной базе
Есть три способа, и все работают с одной публикацией.
| Способ | Что сделать | Когда удобно |
|---|---|---|
| Веб-клиент | Открыть http://сервер/buh в браузере | Нет платформы на компьютере, редкая работа |
| Тонкий клиент | В окне запуска: Добавить → Добавление в список существующей информационной базы → На веб-сервере, адрес http://сервер/buh | Ежедневная работа, удалённые сотрудники |
| Мобильный клиент | Добавить базу по тому же адресу | Работа с телефона или планшета |
В списке баз строка подключения для такого варианта выглядит как ws="http://сервер/buh";.
Версия тонкого клиента на компьютере пользователя должна совпадать с версией платформы на сервере. Если они расходятся, клиент предложит скачать нужную версию — для этого администратор может выложить дистрибутив клиента в публикацию.
wsisapi.dll из каталога bin текущей версии платформы.bin платформы или каталог публикации. Выдайте IIS_IUSRS чтение и выполнение, проверьте, что анонимная проверка подлинности включена.wsisapi.dll старой версии, которую удалили. Переопубликуйте базу из Конфигуратора новой версии или исправьте путь в «Сопоставлениях обработчиков».default.vrd, доступность портов 1540, 1541 и 1560–1591 и что база с таким Ref есть в кластере.Ошибки при публикации базы 1С на веб-сервере и как их искать
Большинство сбоев раскладывается по таблице выше. Если симптом другой, идите сверху вниз по цепочке: браузер → IIS → модуль 1С → кластер → СУБД.
Где смотреть подробности:
- 📄 Журналы IIS —
C:\inetpub\logs\LogFiles. Код ответа и подкод (например,500 0или404 2) сразу показывают, на чьей стороне сбой. - 📄 Журнал событий Windows → «Приложение». Там видны падения рабочего процесса
w3wp.exe. - 📄 Детальные ошибки IIS. Откройте адрес публикации прямо на сервере: локально IIS показывает подробный текст ошибки, а удалённо — краткий.
Как разделить проблему пополам. Если тонкий клиент на том же сервере подключается к базе напрямую (Srvr=...;Ref=...;), а через веб — нет, значит, кластер и СУБД в порядке, ищите в IIS и правах. Если не подключается и напрямую — дело в кластере, лицензиях или СУБД.
Перезапуск пула приложений, службы IIS (iisreset) или агента сервера 1С обрывает сеансы всех пользователей, работающих через эту публикацию или кластер. Предупредите людей и делайте это вне рабочего времени, если ошибка не блокирует работу полностью.
Частые вопросы
Можно ли опубликовать файловую базу, а не серверную?
Нужна ли отдельная лицензия на веб-сервер?
Можно ли использовать Apache вместо IIS?
webinst — соответствующий ключ и путь к httpd.conf. На Linux Apache — основной вариант публикации.Как убрать публикацию?
Администрирование → Публикация на веб-сервере нажмите «Отключить». Каталог публикации и приложение в IIS будут удалены, сама база не пострадает.