Как сделать веб-доступ к 1С 8.3 и открыть базу в браузере
Содержание
Чтобы сделать веб-клиент 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С нужны:
- Роль «Веб-сервер (IIS)».
- В разделе «Разработка приложений» — «Расширения ISAPI» и «Фильтры ISAPI».
- В «Средствах управления» — «Консоль управления IIS».
На Windows 10/11 то же самое включается в «Панель управления → Программы → Включение или отключение компонентов Windows → Службы IIS».
Без «Расширений ISAPI» публикация пройдёт без ошибок, но база в браузере не откроется: IIS просто не будет знать, кому передавать запросы.
Разрядность — главный подводный камень
Модуль расширения 1С должен совпадать по разрядности с процессом веб-сервера:
| Платформа 1С | IIS | Apache |
|---|---|---|
| 64-разрядная | Пул в обычном режиме | Apache x64 |
| 32-разрядная | В пуле включить «Разрешены 32-разрядные приложения» | Apache x86 |
На 64-разрядной Windows с 32-разрядной платформой это частая причина ошибки 500. Проще всего поставить 64-разрядную платформу и не держать в голове лишнее.
Мастер публикации базы на веб-сервере
Публикацию делают из Конфигуратора той базы, которую нужно открыть в браузере.
- Закройте Конфигуратор, если он открыт, и запустите его снова через правую кнопку → «Запуск от имени администратора». Без повышенных прав мастер не сможет записать настройки IIS.
- Откройте
Администрирование → Публикация на веб-сервере. - В поле «Имя» укажите короткое латинское имя без пробелов, например
buh. Оно станет частью адреса. - В поле «Веб-сервер» выберите IIS или нужную версию Apache. Если список пуст, значит, модуль расширения не установлен или веб-сервер не найден.
- Каталог публикации по умолчанию для IIS —
C:\inetpub\wwwroot\buh. Менять его без причины не стоит. - Отметьте «Публиковать доступ для клиентских приложений». Именно этот флажок отвечает за веб-клиент и тонкий клиент через HTTP.
- Нажмите «Опубликовать» и согласитесь на перезапуск веб-сервера.
В каталоге публикации появится файл 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. Для рабочей базы лучше выделить ей свой пул:
- В «Диспетчере служб IIS» откройте «Пулы приложений → Добавить пул приложений».
- Версия среды CLR — «Без управляемого кода»: 1С не использует .NET.
- Режим конвейера — «Встроенный».
- Откройте «Дополнительные параметры» пула и проверьте флажок 32-разрядных приложений по таблице выше.
- В «Сайты → Default Web Site» выберите приложение
buh, справа «Основные настройки» и укажите новый пул.
Свой пул даёт две вещи: сбой одной базы не роняет другие, а перезапускать можно точечно.
Перезапуск пула по расписанию
IIS по умолчанию перезапускает пул каждые 1740 минут, то есть посреди рабочего дня в случайный момент. Пользователи в этот момент теряют сеанс.
В «Дополнительных параметрах» пула, в блоке «Перезапуск», обнулите «Регулярный интервал времени» и задайте «Определённое время», например 03:00. Там же «Время простоя» в «Модели процесса» имеет смысл увеличить или обнулить, чтобы пул не засыпал между обращениями.
Права на каталоги
Пул работает от встроенной учётной записи, у которой мало прав. Ей нужен доступ:
- 📁 к каталогу публикации (
C:\inetpub\wwwroot\buh) — чтение; - 📁 к каталогу
binплатформы — чтение и выполнение; - 📁 для файловой базы — к каталогу базы на изменение. Иначе база откроется только на чтение или не откроется вовсе.
Права выдают группе IIS_IUSRS. Если база лежит на другом компьютере в сетевой папке, встроенная учётная запись туда не пройдёт: в настройках пула укажите доменную учётную запись в поле «Удостоверение» и дайте права ей.
Для клиент-серверной базы права на файлы не нужны: модуль расширения сам ходит к кластеру серверов 1С по порту 1540.
Запуск веб-клиента и проверка подключения
Откройте браузер на самом сервере и наберите http://localhost/buh/. Если появилось окно входа 1С или сразу рабочий стол — публикация работает.
Затем проверьте с другого компьютера сети: http://имя-сервера/buh/. Если локально открывается, а по сети нет — дело в брандмауэре Windows: разрешите входящие подключения на порт 80 (и 443 при HTTPS).
Какие браузеры подходят
Веб-клиент поддерживает актуальные версии Chrome, Яндекс Браузера, Firefox, Edge и Safari. Перед работой проверьте:
- 🔓 разрешены всплывающие окна для адреса публикации — иначе не откроются отчёты и печатные формы;
- 🧩 для работы с файлами и печатью на локальном компьютере может понадобиться расширение браузера для 1С; программа сама предложит его установить при первом обращении к файлам.
Язык интерфейса можно задать прямо в адресе: http://имя-сервера/buh/ru_RU/.
Тонкий клиент через веб-сервер
Тот же адрес годится и для тонкого клиента . Это удобно для удалённых офисов: не нужен VPN до сервера 1С, достаточно HTTP-доступа.
- В окне запуска 1С нажмите «Добавить» → «Добавление в список существующей информационной базы».
- Выберите тип расположения «На веб-сервере».
- Укажите адрес
http://имя-сервера/buh/(илиhttps://…). - Запуск — в режиме тонкого клиента.
Тонкий клиент через веб работает заметно быстрее веб-клиента в браузере и умеет всё, что умеет обычный тонкий клиент: печать, загрузку файлов, работу с торговым оборудованием.
Публикация на 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 нельзя: пароли пользователей уйдут открытым текстом.
Минимальный набор защиты
- HTTPS. В IIS добавьте сайту привязку на порт 443 и выберите сертификат. Бесплатный сертификат Let’s Encrypt на Windows выпускают утилитами вроде win-acme, на Linux — certbot.
- Пароли у всех пользователей 1С. Пользователь без пароля в опубликованной базе — открытый вход для любого, кто узнал адрес.
- Отключите лишнее при публикации. Если веб-сервисы и HTTP-сервисы не используются, не ставьте флажки их публикации.
- Не держите публикацию на стандартном имени. Адреса вида
/buh/или/base/перебирают автоматически. - Ограничьте круг адресов. Если работают только из двух офисов, в IIS есть «Ограничения IP-адресов и доменов» (компонент ставится отдельно в разделе «Безопасность»).
Для доменной сети можно включить аутентификацию операционной системы: флажок в мастере публикации плюс «Проверка подлинности Windows» на приложении в IIS. Пользователь 1С должен быть связан с учётной записью домена в его карточке.
Не публикуйте файловую базу для десятков пользователей через интернет. Файловый режим плохо держит нагрузку, а обрыв сеанса по сети иногда оставляет базу заблокированной. Для веб-доступа больше чем на 5–10 человек переводите базу на клиент-серверный вариант.
Что влияет на скорость
- 🐢 Веб-клиент в браузере медленнее тонкого клиента. Каждая форма грузится по сети, интерфейс тяжелее. Для ежедневной работы бухгалтера лучше тонкий клиент через веб.
- 📶 Ширина и задержка канала. На задержке больше 100 мс открытие форм заметно тормозит, даже при хорошей скорости.
- 🗜 Сжатие. В IIS включите динамическое сжатие («Сжатие» в настройках сайта), если компонент установлен.
- ⏱ Пул не должен засыпать. Первое обращение после простоя всегда долгое; настройте время простоя пула, как описано выше.
Почему веб-клиент 1С не подключается: разбор ошибок
Если ничего не помогло
Пройдите путь запроса по шагам, сужая круг:
- Откройте
http://localhost/на сервере. Нет приветственной страницы IIS — проблема в самом веб-сервере, а не в 1С. - Откройте
http://localhost/buh/. Ошибка IIS (с кодом) — смотрите обработчик и права. Ошибка в окне 1С — проблема уже в соединении с базой. - Проверьте строку соединения в
default.vrd: имя сервера, базы, путь к файловой базе. - Загляните в журнал событий Windows (раздел «Приложение») и в журналы IIS в
C:\inetpub\logs\LogFiles— там видно код ответа и подкод ошибки.
Перед перезапуском IIS командой iisreset или перезапуском службы Apache предупредите пользователей: все открытые веб-сеансы оборвутся, несохранённые документы пропадут.