Как опубликовать базу 1С на веб-сервере и открыть её в браузере
Содержание
Чтобы настроить веб-клиент 1С, базу публикуют на веб-сервере (IIS или Apache) через Конфигуратор: Администрирование → Публикация на веб-сервере. После публикации база открывается в браузере по адресу вида http://имя-сервера/имя-публикации/. Отдельно веб-клиент ставить не нужно: он входит в платформу, а на веб-сервер добавляются только модули расширения.
Типичная ситуация: главбух уехал на две недели, а закрыть месяц нужно. Ставить ему тонкий клиент на ноутбук и настраивать VPN долго. Публикация базы занимает полчаса, а работать можно из любого браузера. Правда, без HTTPS и ограничения доступа выставлять такую публикацию в интернет нельзя — об этом тоже ниже.
Что подготовить до публикации базы
Веб-клиент — это не отдельный продукт со своей версией. Он всегда той же версии, что и платформа 1С на сервере. Поэтому «выбрать версию веб-клиента» на практике означает выбрать платформу и подходящий веб-сервер.
Перед установкой проверьте пять вещей:
- 🖥️ Веб-сервер. На Windows обычно используют IIS, на Linux — Apache 2.4. Apache работает и на Windows, если администратор к нему привык.
- 🧩 Разрядность. Модуль расширения веб-сервера должен совпадать по разрядности с процессом веб-сервера. 64-битный IIS — значит, ставите 64-битную платформу.
- 🗄️ Тип базы. Опубликовать можно и файловую, и клиент-серверную базу . Для нескольких пользователей через интернет лучше клиент-серверный вариант: файловая база под веб-нагрузкой работает заметно медленнее.
- 🔑 Лицензии. Каждый сеанс веб-клиента занимает клиентскую лицензию так же, как тонкий клиент. Пять бухгалтеров в браузере — пять лицензий.
- 🌐 Браузеры. Веб-клиент работает в актуальных Chrome, Firefox, Edge, Яндекс Браузере и Safari. Для сайта публикации нужно разрешить всплывающие окна.
Требования к серверу
Жёстких цифр для самого веб-сервера нет: модуль расширения лёгкий, основную нагрузку несёт сервер 1С и СУБД. Ориентиры для небольшой компании такие.
| Пользователей в веб-клиенте | Конфигурация веб-сервера | Где держать |
|---|---|---|
| До 10 | 2 ядра, 4 ГБ ОЗУ | На одной машине с сервером 1С |
| 10–50 | 4 ядра, 8 ГБ ОЗУ | Можно на той же машине, если ОЗУ хватает |
| Больше 50 | Отдельная машина или несколько за балансировщиком | В одной сети с кластером 1С |
Цифры ориентировочные. Узкое место чаще всего не веб-сервер, а память сервера 1С и диски под СУБД.
Установка веб-сервера и модулей 1С
IIS на Windows Server
В Windows Server 2016 и новее IIS ставят через Диспетчер серверов → Управление → Добавить роли и компоненты. Выберите роль «Веб-сервер (IIS)» и в её службах ролей отметьте:
- «Расширения ISAPI»;
- «Фильтры ISAPI»;
- «Консоль управления IIS»;
- «Ограничения IP-адресов и доменов» — пригодится для закрытия доступа.
Без расширений и фильтров ISAPI публикация пройдёт, но браузер получит ошибку сервера.
Компонент платформы
Запустите установщик платформы 1С на веб-сервере и в списке компонентов включите «Модули расширения веб-сервера». Если на этой машине нужен Конфигуратор для публикации, оставьте и «1С:Предприятие».
💡 Для Apache на Linux модули ставятся пакетом платформы с веб-расширениями. После установки в каталоге платформы появится wsap24.so — его и подключает Apache.
Права на каталоги
IIS работает от имени служебных учётных записей. Дайте группе IIS_IUSRS:
- чтение и выполнение на каталог
binплатформы, напримерC:\Program Files\1cv8\8.3.xx.xxxx\bin; - чтение на каталог публикации, например
C:\inetpub\wwwroot\buh; - для файловой базы — изменение на каталог с базой. Без этого база откроется с ошибкой доступа к файлу.
Публикация базы на веб-сервере пошагово
Способ 1. Через Конфигуратор
Конфигуратор нужно запустить от имени администратора Windows, иначе он не сможет записать настройки IIS или httpd.conf.
- Откройте базу в Конфигураторе.
- Выберите
Администрирование → Публикация на веб-сервере. - В поле «Имя» задайте короткое имя латиницей, например
buh. Оно станет частью адреса. - В поле «Веб-сервер» выберите IIS или нужную версию Apache.
- Для Apache укажите путь к
httpd.conf. - Каталог публикации оставьте предложенный или укажите свой.
- Отметьте «Публиковать доступ для клиентских приложений» — это и есть веб-клиент и тонкий клиент по HTTP.
- Нажмите «Опубликовать». На вопрос о перезапуске веб-сервера ответьте «Да».
Проверка: откройте в браузере http://localhost/buh/. Должно появиться окно выбора пользователя 1С.
Способ 2. Утилитой webinst
Утилита webinst лежит в каталоге bin платформы. Она нужна, когда Конфигуратора на веб-сервере нет или публикацию делают скриптом.
Публикация клиент-серверной базы на IIS:
cd "C:\Program Files\1cv8\8.3.xx.xxxx\bin"
webinst -publish -iis -wsdir buh -dir "C:\inetpub\wwwroot\buh" -connstr "Srvr=srv1c;Ref=buh;"
Публикация на Apache 2.4 под Linux:
sudo /opt/1cv8/x86_64/8.3.xx.xxxx/webinst -publish -apache24 \
-wsdir buh -dir /var/www/buh \
-connstr "Srvr=srv1c;Ref=buh;" \
-confpath /etc/apache2/apache2.conf
sudo systemctl restart apache2
Удалить публикацию можно той же утилитой с ключом -delete вместо -publish.
Файл default.vrd и строка подключения к базе
В каталоге публикации появится файл 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>
Строка в атрибуте ib — та же строка соединения, что и в списке баз:
| Тип базы | Строка подключения |
|---|---|
| Клиент-серверная | Srvr="srv1c";Ref="buh"; |
| Файловая | File="D:\Bases\Buh"; |
| Сервер на нестандартном порту | Srvr="srv1c:2541";Ref="buh"; |
Кавычки внутри XML записываются как ". Если правите файл вручную, не ставьте обычные кавычки — веб-сервер не разберёт строку.
⚠️ Не прописывайте в строку подключения имя и пароль пользователя 1С. Файл default.vrd лежит на веб-сервере, и любой, кто получит к нему доступ, войдёт в базу.
Пользователи 1С
Для веб-доступа у каждого пользователя в базе должен быть пароль. Пользователь без пароля из интернета — открытая дверь. Проверьте список в Администрирование → Настройки пользователей и прав → Пользователи (в БП 3.0, ЗУП 3.1, УТ 11 путь одинаковый).
Как защитить веб-доступ к 1С: HTTPS и ограничение по IP
Без шифрования логин и пароль 1С идут по сети открытым текстом. Публикация «наружу» без HTTPS недопустима.
Сертификат и HTTPS
- IIS: импортируйте сертификат в хранилище компьютера, затем в
Диспетчер IIS → сайт → Привязкидобавьте привязкуhttpsна порт 443 с этим сертификатом. - Apache: включите модуль
mod_sslи пропишите в виртуальном хосте пути к сертификату и ключу. - Бесплатный сертификат выдаёт Let’s Encrypt. На Linux его получают утилитой
certbot, на Windows — клиентом win-acme.
После этого закройте порт 80 на межсетевом экране или настройте с него перенаправление на 443.
Доступ только с определённых IP-адресов
Частый сценарий: в базу пускать только офис и пару домашних адресов. Допустим, это 192.168.1.100 и 192.168.1.101.
В Apache 2.4 добавьте в блок Directory публикации:
<Directory "/var/www/buh/">
AllowOverride All
Options None
Require ip 192.168.1.100 192.168.1.101
SetHandler 1c-application
ManagedApplicationDescriptor "/var/www/buh/default.vrd"
</Directory>
Строки SetHandler и ManagedApplicationDescriptor webinst пишет сам — добавляете только Require ip. Перезапустите Apache.
В IIS выделите приложение публикации, откройте «Ограничения IP-адресов и доменов». В «Изменить параметры компонента» задайте для незаданных клиентов «Запретить», затем добавьте разрешающие записи для обоих адресов.
💡 Если у сотрудников динамические IP, ограничение по адресу не подойдёт. Тогда пускайте их через VPN, а публикацию оставьте видимой только из внутренней сети.
Как ускорить работу 1С в браузере
Веб-клиент по природе медленнее тонкого: интерфейс рисуется силами браузера, а каждое действие идёт запросом по HTTP. Но разница не должна быть в разы. Если она есть, ищите узкое место.
Со стороны пользователя и сети
- 🌍 Канал. Проверьте задержку до сервера командой
ping. При задержке выше 100 мс работа ощутимо тормозит, и никакая настройка сервера это не исправит. - 🧭 Браузер. Держите его обновлённым. Устаревшие версии работают с веб-клиентом медленнее и с ошибками.
- 🧩 Расширения браузера. Блокировщики рекламы и «защитники» иногда режут запросы к публикации. Добавьте адрес в исключения.
- 🪟 Всплывающие окна. Разрешите их для адреса базы: иначе отчёты и печатные формы просто не откроются.
Со стороны сервера
- Держите веб-сервер в одной локальной сети с сервером 1С. Публикация в одном городе, а кластер в другом — гарантированные тормоза.
- Используйте клиент-серверный вариант базы. Файловая база через веб-сервер подходит для 2–3 человек, не больше.
- Следите за памятью сервера 1С. Когда процессы
rphostупираются в ОЗУ, первыми страдают именно удалённые пользователи.
Настройки СУБД под нагрузку
Если база клиент-серверная, скорость во многом определяет СУБД.
PostgreSQL. Используйте сборку с патчами под 1С (от фирмы 1С или Postgres Pro): ванильный PostgreSQL с базами 1С работает хуже. Базовые параметры в postgresql.conf:
| Параметр | Ориентир | Зачем |
|---|---|---|
shared_buffers | около 25% ОЗУ | Кэш страниц в памяти СУБД |
effective_cache_size | 50–75% ОЗУ | Подсказка планировщику о кэше ОС |
work_mem | 32–64 МБ | Память на сортировки в запросе |
maintenance_work_mem | 512 МБ–1 ГБ | Ускоряет VACUUM и создание индексов |
После правки параметров перезапустите службу PostgreSQL. Делайте это вне рабочего времени: перезапуск обрывает сеансы всех пользователей 1С.
MS SQL Server. Три настройки, без которых сервер 1С работает хуже:
- Ограничьте
max server memory. Оставьте операционной системе и серверу 1С не меньше 4–8 ГБ, иначе SQL займёт всю память. - Установите
max degree of parallelism= 1. Для типовых нагрузок 1С это стандартная рекомендация. - Вынесите
tempdbна быстрый диск и настройте регламентное обслуживание: обновление статистики и перестроение индексов по ночам.
Типичные ошибки при настройке веб-клиента
⚠️ Перезапуск IIS (iisreset) или Apache обрывает работу всех, кто сейчас в веб-клиенте. Предупредите пользователей или делайте это в нерабочее время.
Другие способы удалённой работы с 1С
Веб-клиент удобен, но не единственный вариант. Сравните:
| Способ | Когда подходит | Минусы |
|---|---|---|
| Веб-клиент в браузере | Нужно открыть базу с любого компьютера без установки | Медленнее тонкого клиента, часть функций с ограничениями |
| Тонкий клиент по HTTP | Та же публикация, но интерфейс быстрее | Клиент ставят на каждый компьютер, версия должна совпадать с сервером |
| Тонкий клиент через VPN | Офисная сеть, постоянные сотрудники | Нужна настройка VPN, зато сервер 1С не публикуется в интернет |
| RDP или RemoteApp | Тяжёлые обработки, торговое оборудование, внешние компоненты | Лицензии на терминальный доступ Windows, нагрузка на сервер |
| Облачная 1С по подписке | Нет своего сервера и администратора | Ежемесячная плата, ограничения на доработки |
Тонкий клиент по HTTP использует ту же публикацию, что и веб-клиент. В окне «Добавление информационной базы» выберите «На веб-сервере» и укажите адрес https://сервер/buh/. Поэтому один раз настроенная публикация закрывает оба сценария.
Частые вопросы
Можно ли опубликовать на веб-сервере файловую базу?
File="путь к базе", а у пользователя веб-сервера должно быть право на изменение каталога базы. Для одновременной работы больше 2–3 человек лучше перевести базу в клиент-серверный вариант.Нужна ли отдельная лицензия на веб-клиент?
Работает ли веб-клиент на телефоне?
Можно ли опубликовать несколько баз на одном веб-сервере?
/buh/, /zup/, /ut/. Адреса различаются только последней частью.Как зайти в веб-клиент сразу под нужным пользователем?
N=ИмяПользователя, например https://сервер/buh/ru_RU/?N=Иванова. Пароль в адрес не добавляйте: он сохранится в истории браузера.