Как сделать веб-доступ к 1С 8.3 и открыть базу в браузере

· 10 мин

Содержание

Чтобы сделать веб-клиент 1С, базу публикуют на веб-сервере: в Конфигураторе, запущенном от имени администратора Windows, открывают Администрирование → Публикация на веб-сервере, задают имя публикации и жмут «Опубликовать». После этого база открывается в браузере по адресу вида http://имя-сервера/имя-публикации/, а тонкий клиент подключается к ней через тот же адрес. Работает это и на IIS, и на Apache.

Сама публикация занимает минуту. Время уходит на подготовку: нужные компоненты IIS, модуль расширения веб-сервера 1С, совпадение разрядности и права на каталоги. Ниже всё по порядку, с командами и разбором ошибок, которые чаще всего мешают открыть базу в браузере.

Что нужно подготовить до публикации веб-приложения 1С

Веб-приложение 1С — это не отдельная программа. Это та же информационная база, к которой веб-сервер подключается через модуль расширения 1С и отдаёт интерфейс в браузер или тонкому клиенту.

Что должно быть на машине, где стоит веб-сервер:

  • 🖥 Веб-сервер. IIS на Windows Server 2016 и новее либо Apache 2.2/2.4 (на Windows или Linux).
  • 🧩 Модули расширения веб-сервера 1С. Это отдельный компонент установщика платформы. При обычной установке он не ставится — его нужно отметить вручную.
  • ⚙️ Платформа той же версии, что и кластер серверов 1С (для клиент-серверной базы). Версия модуля и сервера должна совпадать до последней цифры.
  • 📂 Доступ к базе. Для файловой базы — путь к каталогу с 1Cv8.1CD, для серверной — имя кластера и имя базы на нём.
  • 🔑 Лицензии. Пользователи веб-клиента занимают клиентские лицензии так же, как пользователи обычного клиента.

Если модуль расширения не поставили сразу, запустите установщик платформы ещё раз, выберите «Изменить» и добавьте компонент «Модули расширения веб-сервера». Переустанавливать платформу целиком не нужно.

Какие компоненты IIS включить

На Windows Server роль ставят через «Диспетчер серверов → Добавить роли и компоненты». Для 1С нужны:

  1. Роль «Веб-сервер (IIS)».
  2. В разделе «Разработка приложений» — «Расширения ISAPI» и «Фильтры ISAPI».
  3. В «Средствах управления» — «Консоль управления IIS».

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

Без «Расширений ISAPI» публикация пройдёт без ошибок, но база в браузере не откроется: IIS просто не будет знать, кому передавать запросы.

Разрядность — главный подводный камень

Модуль расширения 1С должен совпадать по разрядности с процессом веб-сервера:

Платформа 1СIISApache
64-разряднаяПул в обычном режимеApache x64
32-разряднаяВ пуле включить «Разрешены 32-разрядные приложения»Apache x86

На 64-разрядной Windows с 32-разрядной платформой это частая причина ошибки 500. Проще всего поставить 64-разрядную платформу и не держать в голове лишнее.

Мастер публикации базы на веб-сервере

Публикацию делают из Конфигуратора той базы, которую нужно открыть в браузере.

  1. Закройте Конфигуратор, если он открыт, и запустите его снова через правую кнопку → «Запуск от имени администратора». Без повышенных прав мастер не сможет записать настройки IIS.
  2. Откройте Администрирование → Публикация на веб-сервере.
  3. В поле «Имя» укажите короткое латинское имя без пробелов, например buh. Оно станет частью адреса.
  4. В поле «Веб-сервер» выберите IIS или нужную версию Apache. Если список пуст, значит, модуль расширения не установлен или веб-сервер не найден.
  5. Каталог публикации по умолчанию для IIS — C:\inetpub\wwwroot\buh. Менять его без причины не стоит.
  6. Отметьте «Публиковать доступ для клиентских приложений». Именно этот флажок отвечает за веб-клиент и тонкий клиент через HTTP.
  7. Нажмите «Опубликовать» и согласитесь на перезапуск веб-сервера.

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

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

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

Когда баз много или доступа к Конфигуратору нет, удобнее консольная утилита webinst.exe. Она лежит в каталоге bin установленной платформы.

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

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

Публикация файловой базы на Apache 2.4 (ключ -confpath указывает на httpd.conf):

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

Номер версии в пути подставьте свой. Для снятия публикации тот же набор ключей запускают с -delete вместо -publish.

Настройка IIS: пул приложений и права доступа

Мастер создаёт приложение в IIS и сопоставляет его с обработчиком wsisapi.dll из каталога платформы. Дальше нужна ручная доводка.

Отдельный пул под 1С

По умолчанию публикация попадает в DefaultAppPool. Для рабочей базы лучше выделить ей свой пул:

  1. В «Диспетчере служб IIS» откройте «Пулы приложений → Добавить пул приложений».
  2. Версия среды CLR — «Без управляемого кода»: 1С не использует .NET.
  3. Режим конвейера — «Встроенный».
  4. Откройте «Дополнительные параметры» пула и проверьте флажок 32-разрядных приложений по таблице выше.
  5. В «Сайты → Default Web Site» выберите приложение buh, справа «Основные настройки» и укажите новый пул.

Свой пул даёт две вещи: сбой одной базы не роняет другие, а перезапускать можно точечно.

Перезапуск пула по расписанию

IIS по умолчанию перезапускает пул каждые 1740 минут, то есть посреди рабочего дня в случайный момент. Пользователи в этот момент теряют сеанс.

В «Дополнительных параметрах» пула, в блоке «Перезапуск», обнулите «Регулярный интервал времени» и задайте «Определённое время», например 03:00. Там же «Время простоя» в «Модели процесса» имеет смысл увеличить или обнулить, чтобы пул не засыпал между обращениями.

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

Пул работает от встроенной учётной записи, у которой мало прав. Ей нужен доступ:

  • 📁 к каталогу публикации (C:\inetpub\wwwroot\buh) — чтение;
  • 📁 к каталогу bin платформы — чтение и выполнение;
  • 📁 для файловой базы — к каталогу базы на изменение. Иначе база откроется только на чтение или не откроется вовсе.

Права выдают группе IIS_IUSRS. Если база лежит на другом компьютере в сетевой папке, встроенная учётная запись туда не пройдёт: в настройках пула укажите доменную учётную запись в поле «Удостоверение» и дайте права ей.

Для клиент-серверной базы права на файлы не нужны: модуль расширения сам ходит к кластеру серверов 1С по порту 1540.

Перед первым входом через браузер
Выполнено: 0 / 6

Запуск веб-клиента и проверка подключения

Откройте браузер на самом сервере и наберите http://localhost/buh/. Если появилось окно входа 1С или сразу рабочий стол — публикация работает.

Затем проверьте с другого компьютера сети: http://имя-сервера/buh/. Если локально открывается, а по сети нет — дело в брандмауэре Windows: разрешите входящие подключения на порт 80 (и 443 при HTTPS).

Какие браузеры подходят

Веб-клиент поддерживает актуальные версии Chrome, Яндекс Браузера, Firefox, Edge и Safari. Перед работой проверьте:

  • 🔓 разрешены всплывающие окна для адреса публикации — иначе не откроются отчёты и печатные формы;
  • 🧩 для работы с файлами и печатью на локальном компьютере может понадобиться расширение браузера для 1С; программа сама предложит его установить при первом обращении к файлам.

Язык интерфейса можно задать прямо в адресе: http://имя-сервера/buh/ru_RU/.

Тонкий клиент через веб-сервер

Тот же адрес годится и для тонкого клиента . Это удобно для удалённых офисов: не нужен VPN до сервера 1С, достаточно HTTP-доступа.

  1. В окне запуска 1С нажмите «Добавить» → «Добавление в список существующей информационной базы».
  2. Выберите тип расположения «На веб-сервере».
  3. Укажите адрес http://имя-сервера/buh/ (или https://…).
  4. Запуск — в режиме тонкого клиента.

Тонкий клиент через веб работает заметно быстрее веб-клиента в браузере и умеет всё, что умеет обычный тонкий клиент: печать, загрузку файлов, работу с торговым оборудованием.

Публикация на Apache

На Apache мастер дописывает в httpd.conf блок примерно такого вида:

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

# 1c publication
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 остаётся старым. Если старую версию удалили, Apache не запустится — поправьте путь вручную. На IIS то же самое происходит с путём к wsisapi.dll в сопоставлении обработчиков; проще всего переопубликовать базу из Конфигуратора новой версии.

Скорость и безопасность веб-доступа к 1С

Опубликованная база — это дверь в учёт снаружи. Открывать её в интернет по голому HTTP нельзя: пароли пользователей уйдут открытым текстом.

Минимальный набор защиты

  1. HTTPS. В IIS добавьте сайту привязку на порт 443 и выберите сертификат. Бесплатный сертификат Let’s Encrypt на Windows выпускают утилитами вроде win-acme, на Linux — certbot.
  2. Пароли у всех пользователей 1С. Пользователь без пароля в опубликованной базе — открытый вход для любого, кто узнал адрес.
  3. Отключите лишнее при публикации. Если веб-сервисы и HTTP-сервисы не используются, не ставьте флажки их публикации.
  4. Не держите публикацию на стандартном имени. Адреса вида /buh/ или /base/ перебирают автоматически.
  5. Ограничьте круг адресов. Если работают только из двух офисов, в IIS есть «Ограничения IP-адресов и доменов» (компонент ставится отдельно в разделе «Безопасность»).

Для доменной сети можно включить аутентификацию операционной системы: флажок в мастере публикации плюс «Проверка подлинности Windows» на приложении в IIS. Пользователь 1С должен быть связан с учётной записью домена в его карточке.

Не публикуйте файловую базу для десятков пользователей через интернет. Файловый режим плохо держит нагрузку, а обрыв сеанса по сети иногда оставляет базу заблокированной. Для веб-доступа больше чем на 5–10 человек переводите базу на клиент-серверный вариант.

Что влияет на скорость

  • 🐢 Веб-клиент в браузере медленнее тонкого клиента. Каждая форма грузится по сети, интерфейс тяжелее. Для ежедневной работы бухгалтера лучше тонкий клиент через веб.
  • 📶 Ширина и задержка канала. На задержке больше 100 мс открытие форм заметно тормозит, даже при хорошей скорости.
  • 🗜 Сжатие. В IIS включите динамическое сжатие («Сжатие» в настройках сайта), если компонент установлен.
  • ⏱ Пул не должен засыпать. Первое обращение после простоя всегда долгое; настройте время простоя пула, как описано выше.

Почему веб-клиент 1С не подключается: разбор ошибок

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

Если ничего не помогло

Пройдите путь запроса по шагам, сужая круг:

  1. Откройте http://localhost/ на сервере. Нет приветственной страницы IIS — проблема в самом веб-сервере, а не в 1С.
  2. Откройте http://localhost/buh/. Ошибка IIS (с кодом) — смотрите обработчик и права. Ошибка в окне 1С — проблема уже в соединении с базой.
  3. Проверьте строку соединения в default.vrd: имя сервера, базы, путь к файловой базе.
  4. Загляните в журнал событий Windows (раздел «Приложение») и в журналы IIS в C:\inetpub\logs\LogFiles — там видно код ответа и подкод ошибки.

Перед перезапуском IIS командой iisreset или перезапуском службы Apache предупредите пользователей: все открытые веб-сеансы оборвутся, несохранённые документы пропадут.

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

Можно ли опубликовать базу 1С на веб-сервере на Linux?
Да. Ставится Apache 2.4 и модули расширения веб-сервера из дистрибутива платформы для Linux, публикация делается утилитой webinst с ключом -apache24.
Нужна ли отдельная лицензия на веб-сервер 1С?
Отдельной лицензии на веб-сервер нет. Пользователи веб-клиента и тонкого клиента через веб занимают обычные клиентские лицензии.
Можно ли опубликовать несколько баз на одном IIS?
Да. Каждая база получает своё имя публикации и свой адрес. Лучше выделить каждой отдельный пул приложений.
Работает ли веб-клиент 1С на телефоне?
Браузер на телефоне откроет базу, но работать неудобно. Для телефона лучше мобильный клиент 1С, который подключается к той же публикации.
Что делать с публикацией после обновления платформы?
Переопубликуйте базу из Конфигуратора новой версии и установите модули расширения той же версии. Иначе пути к модулю останутся старыми.