Как открыть базу 1С через браузер: веб-сервер, публикация, доступ

· 9 мин

Содержание

Чтобы опубликовать базу 1С на веб-сервере, нужны три вещи: установленные «Модули расширения веб-сервера» той же версии и разрядности, что и платформа, настроенный IIS или Apache и запущенный от имени администратора Конфигуратор с командой Администрирование → Публикация на веб-сервере. После публикации база открывается по адресу вида http://server/base, а HTTP-сервисы — по http://server/base/hs/....

Частое заблуждение — что публикация «переносит» базу на веб-сервер. Нет: база остаётся там, где была, файловой или на сервере 1С. Веб-сервер только принимает запросы браузера и передаёт их платформе через модуль wsisapi.dll (IIS) или wsap24.dll (Apache). Поэтому большинство ошибок настройки — это несовпадение версий, разрядности и прав, а не «сломанная база».

Что подготовить до публикации базы на веб-сервере

Начните с проверки трёх параметров. Если хоть один не совпадёт, публикация пройдёт без ошибок, а база в браузере не откроется.

  • 🧩 Версия. Модуль веб-расширения должен быть ровно той же версии, что и сервер 1С (или платформа, через которую открывается файловая база). 8.3.24.1548 и 8.3.24.1691 — это уже разные версии.
  • 🔢 Разрядность. 64-битный IIS по умолчанию загружает только 64-битные модули. Если стоит 32-битная платформа, пул приложений надо перевести в 32-битный режим.
  • 🔐 Права. Учётная запись, под которой работает веб-сервер, должна читать каталог публикации, каталог платформы bin, а для файловой базы — ещё и читать и писать в каталог базы.

Установка модулей расширения веб-сервера

Модули ставятся из дистрибутива платформы, отдельного дистрибутива нет.

  1. Запустите setup.exe из дистрибутива технологической платформы.
  2. На шаге выбора компонентов отметьте «Модули расширения веб-сервера».
  3. Если на этом же компьютере будет работать Конфигуратор для публикации, оставьте отмеченным и «1С:Предприятие» — без клиентской части команды публикации не будет.
  4. Завершите установку. В каталоге C:\Program Files\1cv8\<версия>\bin\ появятся wsisapi.dll и wsap24.dll, а также утилита webinst.exe.

На Linux модули входят в пакет платформы (компонент ws), файлы лежат в /opt/1cv8/x86_64/<версия>/: модуль wsap24.so и утилита webinst.

Если на сервере стоят несколько версий платформы, сразу запишите, какую именно вы публикуете. Через полгода, при обновлении, это сэкономит поиск по реестру и httpd.conf.

Настройка IIS: роли, пул приложений и разрешения

Для Windows Server 2016 и новее IIS ставится как роль через Диспетчер серверов → Добавить роли и компоненты → Веб-сервер (IIS). Набор по умолчанию для 1С не полный: добавьте службы ролей вручную.

Служба роли IISЗачем нужна
Статическое содержимое, Документ по умолчаниюотдача файлов веб-клиента
Расширения ISAPIзагрузка wsisapi.dll — без неё ничего не работает
Фильтры ISAPIобработка запросов модулем 1С
Проверка подлинности Windowsвход в базу по учётной записи домена (по желанию)
Консоль управления IISнастройка через графический интерфейс

На клиентской Windows 10/11 то же самое включается через Панель управления → Программы → Включение или отключение компонентов Windows → Службы IIS.

Пул приложений

Публикация создаёт приложение в сайте Default Web Site и использует его пул. Отдельный пул удобнее: его можно перезапустить, не трогая другие сайты.

  1. Откройте Диспетчер служб IIS → Пулы приложений → Добавить пул приложений.
  2. Имя, например 1C_Pool, версия среды CLR — Без управляемого кода.
  3. В Дополнительных параметрах пула найдите «Разрешить 32-разрядные приложения»:
    • False — если установлены 64-битные модули 1С;
    • True — если 32-битные.
  4. После публикации откройте приложение базы в дереве сайта, Основные параметры и выберите этот пул.

Права на каталоги

IIS по умолчанию работает от имени удостоверения пула. Проще всего выдать права группе IIS_IUSRS:

  • чтение и выполнение — на C:\Program Files\1cv8\<версия>\bin\;
  • чтение — на каталог публикации, например C:\inetpub\wwwroot\buh\;
  • изменение — на каталог файловой базы (там, где лежит 1Cv8.1CD).

Для клиент-серверной базы права на каталог базы не нужны: данные хранит СУБД, а веб-сервер обращается к серверу 1С по сети.

Публикация базы через Конфигуратор и через webinst

Публикация из Конфигуратора

Это самый наглядный способ. Запускайте Конфигуратор от имени администратора: иначе он не сможет записать настройки в IIS или httpd.conf, и кнопка публикации завершится ошибкой доступа.

  1. Откройте базу в Конфигураторе.
  2. Выберите Администрирование → Публикация на веб-сервере.
  3. Заполните основные поля:
    • Имя — часть адреса, латиницей без пробелов: buh даст адрес http://server/buh;
    • Веб-сервер — Internet Information Services или Apache 2.4 (Конфигуратор показывает найденные на компьютере);
    • Каталог — физическая папка публикации, например C:\inetpub\wwwroot\buh.
  4. Отметьте нужные флажки: публикация тонкого клиента и веб-клиента, доступ для клиентских приложений, стандартный интерфейс OData.
  5. На закладках Web-сервисы и HTTP-сервисы отметьте сервисы, которые должны быть доступны снаружи.
  6. Нажмите Опубликовать. Конфигуратор предложит перезапустить веб-сервер — для IIS это iisreset.

Перезапуск IIS или Apache обрывает все текущие веб-сеансы, включая обмены через HTTP-сервисы. На рабочем сервере делайте это вне рабочих часов или предупредите пользователей.

В каталоге публикации появится файл default.vrd — главный файл настроек публикации. Его можно править вручную блокнотом.

Публикация утилитой webinst

На сервере без графики или при массовой публикации удобнее командная строка. Утилита лежит в каталоге bin платформы, запускать от администратора.

Публикация клиент-серверной базы на IIS:

cd "C:\Program Files\1cv8\8.3.24.1548\bin"
webinst.exe -publish -iis -wsdir buh -dir "C:\inetpub\wwwroot\buh" -connstr "Srvr=srv1c;Ref=buh;"

Публикация файловой базы на Apache 2.4:

webinst.exe -publish -apache24 -wsdir buh -dir "C:\Apache24\htdocs\buh" -connstr "File=""D:\Bases\Buh"";" -confpath "C:\Apache24\conf\httpd.conf"

Обратите внимание на удвоенные кавычки внутри строки соединения файловой базы — это частая причина ошибки разбора параметров. Для удаления публикации используется ключ -delete с теми же -wsdir и -dir.

Что пишется в httpd.conf для Apache

Для Apache публикация добавляет в httpd.conf блок примерно такого вида:

LoadModule _1cws_module "C:/Program Files/1cv8/8.3.24.1548/bin/wsap24.dll"

Alias "/buh" "C:/Apache24/htdocs/buh/"
<Directory "C:/Apache24/htdocs/buh/">
    AllowOverride All
    Options None
    Require all granted
    SetHandler 1c-application
    ManagedApplicationDescriptor "C:/Apache24/htdocs/buh/default.vrd"
</Directory>

Строка LoadModule должна быть одна на весь файл. Если опубликовать несколько баз, а потом обновить платформу, поправьте путь к wsap24.dll в ней — иначе Apache продолжит грузить модуль старой версии.

Аутентификация и защита опубликованной базы

Веб-публикация открывает базу в сеть, поэтому вопрос «кто войдёт» решайте до того, как дадите адрес пользователям.

Способы входа

СпособКак настраиваетсяКогда подходит
Пользователь и пароль 1Ссписок пользователей базы, пароль обязателенвнешние пользователи, интернет
Аутентификация ОСфлажок у пользователя 1С + «Проверка подлинности Windows» в IISлокальная сеть с доменом
Логин в строке соединенияпараметры Usr и Pwd в default.vrdтолько закрытые технические публикации

Не прописывайте логин и пароль в default.vrd на публикации, доступной из интернета: любой, кто знает адрес, войдёт в базу под этим пользователем без запроса пароля.

Минимум защиты для доступа извне

  1. 🔒 Включите HTTPS: в IIS — привязка сертификата к сайту на порт 443, в Apache — модуль mod_ssl. Пароли 1С по HTTP идут в открытом виде.
  2. 👤 Уберите пустые пароли и пользователей с полными правами, которые входят без пароля.
  3. 🧱 Публикуйте только нужное. Если снаружи нужен один HTTP-сервис для обмена, не включайте веб-клиент и OData в этой публикации.
  4. 🌐 Ограничьте доступ по IP: в IIS — «Ограничения IP-адресов и доменов», в Apache — директива Require ip.
  5. 🗂 Для разных задач делайте разные публикации одной базы: buh для пользователей, buh-exchange для обмена с сайтом. Права и состав у них настраиваются раздельно.

Каждый пользователь веб-клиента занимает клиентскую лицензию так же, как и тонкий клиент. Публикация не даёт «бесплатных» подключений.

HTTP-сервисы, веб-сервисы и OData в публикации

Для интеграций публикация важнее, чем для пользователей. Адреса строятся по фиксированной схеме:

Что опубликованоАдрес
Веб-клиентhttp://server/buh/
HTTP-сервисhttp://server/buh/hs/<корневой URL сервиса>/<шаблон>
Веб-сервис (SOAP)http://server/buh/ws/<имя>?wsdl
Стандартный интерфейс ODatahttp://server/buh/odata/standard.odata/

Сервис попадает в публикацию, только если он есть в конфигурации и отмечен на соответствующей закладке при публикации. В default.vrd это видно по элементам <httpServices> и <ws>. Атрибут publishByDefault="true" публикует все сервисы конфигурации, включая добавленные позже.

OData: почему список пустой

Флажок OData в публикации — только половина дела. Платформа отдаёт через OData лишь те объекты, которые включены в состав стандартного интерфейса. Состав задаётся программно, методом УстановитьСоставСтандартногоИнтерфейсаOData(), обычно внешней обработкой или из настроек конфигурации, если разработчик это предусмотрел. Пока состав пустой, адрес standard.odata откроется, но объектов в нём не будет.

Внешние обработки и расширения

Отдельно публиковать внешние обработки не нужно: веб-клиент открывает их так же, как тонкий клиент, через справочник дополнительных обработок или команду открытия файла. HTTP-сервисы из расширений конфигурации тоже публикуются — после того как расширение подключено к базе и база перезапущена.

Диагностика: почему опубликованная база не открывается

Сначала откройте адрес прямо на веб-сервере в браузере. Так вы отделите проблемы самой публикации от сетевых: брандмауэра, прокси, DNS.

Диагностика: выберите симптом

Где смотреть подробности

  • 📄 Журнал событий Windows → «Приложение»: IIS и модуль 1С пишут туда ошибки загрузки DLL.
  • 📄 Журналы IIS в C:\inetpub\logs\LogFiles\ — по коду и подкоду ответа (500 0, 404 3) видно, на каком этапе отказ.
  • 📄 error.log Apache в каталоге logs — ошибки загрузки модуля и разбора default.vrd.
  • 📄 Журнал регистрации базы — если запрос дошёл до 1С, но упал на входе пользователя или в коде HTTP-сервиса.

Проверка конфигурации Apache командой httpd -t безопасна. А вот httpd -k restart и iisreset обрывают текущие сеансы — делайте это после проверки, а не вместо неё.

Что делать после обновления платформы

Это самый частый повод, по которому «вчера работало, а сегодня нет». После обновления сервера 1С модуль веб-расширения остаётся старым, и публикация перестаёт открываться с ошибкой о несовпадении версий.

Порядок после обновления:

  1. Установите на веб-сервер модули расширения новой версии той же разрядности.
  2. Для IIS — откройте Конфигуратор новой версии и опубликуйте базу повторно с тем же именем и каталогом, либо выполните webinst из каталога bin новой версии.
  3. Для Apache — поправьте путь в строке LoadModule на каталог новой версии.
  4. В нерабочее время перезапустите веб-сервер.
  5. Старую версию платформы удаляйте только после проверки всех публикаций.
Проверка публикации после изменений
Выполнено: 0 / 6

Частые вопросы

Можно ли опубликовать файловую базу на веб-сервере?
Да. Публикация работает и для файловых, и для клиент-серверных баз. Для файловой веб-сервер должен стоять на том же компьютере или иметь сетевой доступ к каталогу базы с правом изменения.
Нужен ли IIS, если есть сервер 1С?
Да, если нужен вход через браузер, HTTP-сервисы или OData. Сервер 1С сам по себе не принимает HTTP-запросы — их принимает IIS или Apache с модулем 1С.
Что выбрать: IIS или Apache?
На Windows Server обычно берут IIS: он уже входит в систему и настраивается из Конфигуратора. Apache выбирают на Linux и там, где он уже обслуживает другие сайты.
Можно ли опубликовать одну базу несколько раз?
Да, под разными именами и в разные каталоги. Так удобно разделять пользовательский доступ и технические обмены с разным составом сервисов.
Как подключиться к опубликованной базе из тонкого клиента?
В списке баз добавьте базу с типом расположения «На веб-сервере» и укажите адрес публикации, например https://server/buh. Тонкий клиент будет работать через веб-сервер без прямого доступа к серверу 1С.