Как опубликовать базу данных 1С на веб-сервере и открыть её в браузере
Содержание
Чтобы опубликовать базу данных 1С на веб-сервере, нужны три вещи: установленные «Модули расширения веб-сервера» той же версии платформы, что и у базы, сам веб-сервер (IIS на Windows или Apache) и команда Администрирование → Публикация на веб-сервере в Конфигураторе, запущенном от имени администратора. После публикации база открывается по адресу вида http://имя-сервера/buh в браузере или в тонком клиенте.
Типичная ситуация: главбух уезжает на неделю, а отчётность сдавать надо. RDP настраивать долго, VPN нет. Публикация базы 1С на веб-сервере решает задачу за час, если заранее знать, где подвохи: права на папки, разрядность и версия модулей.
Что подготовить перед публикацией базы 1С
Начните с инвентаризации. Публикация ломается чаще всего из-за мелочей, которые видны ещё до первого клика.
📌 Что должно быть на компьютере, где будет веб-сервер:
- платформа 1С:Предприятие 8.3 с компонентом «Модули расширения веб-сервера» (ставится тем же установщиком, галочку надо отметить явно);
- Конфигуратор той же версии, если публикуете через интерфейс;
- IIS (Windows) или Apache 2.4 (Windows или Linux);
- для серверной базы — сетевой доступ к серверу 1С по портам 1540, 1541 и диапазону рабочих процессов;
- для файловой базы — путь к папке с файлом
1Cv8.1CD, на которую можно выдать права учётной записи веб-сервера.
Версия и разрядность
Модули расширения подключаются к базе как клиент. Для клиент-серверного варианта их версия должна совпадать с версией сервера 1С до последней цифры: сервер на 8.3.24.1586 — значит, и модули из 8.3.24.1586.
Разрядность модуля должна совпадать с разрядностью процесса веб-сервера. 64-битный Apache не загрузит 32-битный модуль, и наоборот.
| Что сверить | Где посмотреть |
|---|---|
| Версия платформы на сервере 1С | Консоль кластера или «О программе» у клиента |
| Версия модулей расширения | Папка bin установленной платформы, например C:\Program Files\1cv8\8.3.24.1586\bin |
| Разрядность веб-сервера | Для IIS — настройка пула приложений; для Apache — дистрибутив, из которого ставили |
| Свободное имя публикации | Латиница без пробелов: buh, zup, ut11 |
Имя публикации попадает в адрес. Короткое имя латиницей избавит от проблем с кодировкой ссылок в почте и мессенджерах.
Публикация базы 1С на веб-сервере IIS
IIS — самый частый выбор на Windows Server: он уже есть в системе, и Конфигуратор умеет прописывать в нём всё сам.
Шаг 1. Включите роль IIS с нужными компонентами
В Диспетчер серверов → Управление → Добавить роли и компоненты выберите роль «Веб-сервер (IIS)». В составе служб роли отметьте:
- «Расширения ISAPI» и «Фильтры ISAPI» — без них модуль 1С не загрузится.
- «Статическое содержимое», «Документ по умолчанию», «Ошибки HTTP».
- «Консоль управления IIS».
- Если нужен вход по учётной записи Windows — «Проверка подлинности Windows».
На Windows 10/11 то же самое включается в «Компонентах Windows»: ветка «Службы IIS», внутри неё «Компоненты разработки приложений».
Шаг 2. Опубликуйте базу из Конфигуратора
- Запустите Конфигуратор от имени администратора (правый клик по ярлыку). Без этого IIS не даст записать настройки.
- Откройте нужную базу и выберите
Администрирование → Публикация на веб-сервере. - Задайте «Имя» — это часть адреса после имени сервера.
- В поле «Веб-сервер» выберите Internet Information Services.
- Каталог по умолчанию —
C:\inetpub\wwwroot\buh. Его можно оставить. - Отметьте, что публикуем: тонкий клиент и веб-клиент, при необходимости стандартный интерфейс OData, веб-сервисы и HTTP-сервисы.
- Нажмите «Опубликовать» и согласитесь на перезапуск веб-сервера.
Перезапуск IIS обрывает соединения всех уже опубликованных на нём баз и сайтов. Если на сервере работают люди, публикуйте вечером или предупредите их.
Шаг 3. Выдайте права
Это шаг, который пропускают чаще всего. Пул приложений IIS работает от служебной учётной записи, и ей нужен доступ:
- 📂 к папке
binплатформы — чтение и выполнение (группаIIS_IUSRS); - 📂 к каталогу публикации
C:\inetpub\wwwroot\buh— чтение; - 📂 для файловой базы — изменение на папку с базой: веб-сервер пишет туда файлы блокировок и временные данные.
Шаг 4. Проверьте разрядность пула
Если стоит 32-битная платформа, откройте в диспетчере IIS «Пулы приложений», выберите пул публикации, «Дополнительные параметры» и включите «Разрешить 32-разрядные приложения». Для 64-битной платформы параметр должен быть выключен.
Настройка Apache для публикации 1С
Apache выбирают для Linux-серверов и для случаев, когда IIS по каким-то причинам не подходит. На Windows его ставят из сборки Apache Lounge нужной разрядности.
Публикация через Конфигуратор (Windows)
Порядок тот же, что и для IIS, только в поле «Веб-сервер» выберите Apache 2.4. Конфигуратор допишет в httpd.conf строку загрузки модуля wsap24.dll и блок Directory для каталога публикации. После этого службу Apache нужно перезапустить.
Публикация на Linux утилитой webinst
На Linux Конфигуратор с публикацией обычно не используют. Утилита webinst лежит в каталоге платформы, например /opt/1cv8/x86_64/8.3.24.1586/.
cd /opt/1cv8/x86_64/8.3.24.1586
sudo ./webinst -publish -apache24 -wsdir buh \
-dir /var/www/buh \
-connstr "Srvr=srv1c;Ref=buh;" \
-confpath /etc/apache2/apache2.conf
sudo systemctl restart apache2
Что делают ключи:
-wsdir— имя публикации, то есть часть адреса;-dir— каталог, куда запишетсяdefault.vrd;-connstr— строка соединения: для серверной базыSrvr=…;Ref=…;, для файловойFile="путь";;-confpath— конфигурационный файл Apache, в который добавится загрузка модуля.
В результате в конфиге появится примерно такой фрагмент:
LoadModule _1cws_module "/opt/1cv8/x86_64/8.3.24.1586/wsap24.so"
Alias "/buh" "/var/www/buh/"
<Directory "/var/www/buh/">
AllowOverride All
Options None
Require all granted
SetHandler 1c-application
ManagedApplicationDescriptor "/var/www/buh/default.vrd"
</Directory>
После обновления платформы путь в LoadModule остаётся старым. Если старую версию удалили, Apache не стартует. Исправьте путь вручную или переопубликуйте базу утилитой новой версии.
На RHEL-подобных системах служба называется httpd, а конфиг — /etc/httpd/conf/httpd.conf.
Модули расширения веб-сервера и файл default.vrd
Модуль расширения — это библиотека, через которую веб-сервер передаёт запросы браузера платформе 1С. Для IIS это wsisapi.dll, для Apache 2.4 на Windows — wsap24.dll, на Linux — wsap24.so. Сам веб-сервер базу не «понимает»: он только отдаёт запрос модулю.
Модуль ищет описание публикации в файле 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";">
<standardOdata enable="false"/>
</point>
Кавычки внутри атрибута ib записываются как ". Если вписать обычные двойные кавычки, файл станет некорректным XML и публикация отдаст ошибку.
💡 Что удобно править прямо в default.vrd, не переопубликовывая базу:
- атрибут
ib— если база переехала на другой сервер 1С; - включение и отключение OData, веб-сервисов и HTTP-сервисов;
- добавление в строку соединения параметров вроде
UsrиPwdдля автоматического входа — только для закрытых интеграций, не для доступа людей.
После правки default.vrd перезапуск веб-сервера обычно не нужен для новых сеансов, но если изменения не подхватились — перезапустите пул IIS или службу Apache.
Подключение к опубликованной базе
Опубликованная база доступна двумя способами.
| Способ | Как подключиться | Когда удобен |
|---|---|---|
| Веб-клиент | Открыть http://сервер/buh в браузере | Нет возможности ставить программы, разовая работа |
| Тонкий клиент через веб-сервер | В списке баз «Добавить → Добавление в список существующей информационной базы», тип «На веб-сервере», адрес http://сервер/buh | Ежедневная работа удалённо, полный интерфейс |
Тонкий клиент через HTTP работает заметно стабильнее веб-клиента на медленных каналах: формы не тянутся из браузера, а отрисовываются программой. Для сотрудника, который работает удалённо каждый день, лучше ставить тонкий клиент.
Лицензии при этом расходуются так же, как при обычном подключении: каждый сеанс веб-клиента или тонкого клиента занимает клиентскую лицензию.
Диагностика ошибок при публикации на веб-сервере
Большинство ошибок видны уже при первом заходе по адресу. Ниже — симптом и то, что проверить.
Где смотреть подробности
- 🔍 IIS: журналы в
C:\inetpub\logs\LogFiles— там видны коды и подкоды ответа вроде 500.19 или 404.3. Подкод сразу сужает поиск. - 🔍 Apache на Linux:
/var/log/apache2/error.log(или/var/log/httpd/error_log) и выводapachectl configtest. - 🔍 Журнал регистрации базы — если до 1С запрос дошёл, а падает уже вход или обработка.
Если в браузере видно стандартное окно ошибки 1С, а не страница веб-сервера, — веб-сервер и модуль отработали, проблема на стороне базы или сервера 1С: строка соединения, сеть до портов 1540–1541, права пользователя 1С.
Безопасность опубликованной базы
Опубликованная в интернет база — это бухгалтерия, доступная любому, кто подберёт пароль. Отнеситесь к этому как к открытию двери в офис.
🔒 Минимум, без которого выкладывать базу наружу нельзя:
- HTTPS. Без шифрования логины и данные идут открытым текстом. Сертификат можно получить бесплатно (Let’s Encrypt) или купить; в IIS привязывается в «Привязках» сайта, в Apache — через
mod_ssl. - Пароли у всех пользователей 1С. Пользователь без пароля в опубликованной базе — открытая учётная запись. Отключите в базе пользователей, которые не работают.
- Публикуйте только нужное. Если OData и веб-сервисы не используются интеграциями — снимите их флажки. Каждый лишний сервис — ещё одна точка входа.
- Ограничьте доступ на уровне сети. Если работают пять сотрудников с известных адресов, разрешите на межсетевом экране только их, или пускайте через VPN, а наружу не публикуйте вовсе.
- Не запускайте пул IIS от администратора. Для удобства так иногда делают, когда не хочется разбираться с правами. Ошибка в модуле при этом получает полные права на сервер.
Строка соединения с Usr и Pwd в default.vrd пускает в базу любого, кто откроет адрес, без запроса пароля. Для доступа сотрудников так делать нельзя.
Производительность
- ⚡ Для нескольких баз создайте отдельные пулы приложений IIS: падение одной публикации не потянет остальные.
- ⚡ Файловая база через веб-сервер подходит для 2–5 одновременных пользователей. Больше — переводите базу на сервер 1С.
- ⚡ Веб-клиент на канале с высокой задержкой работает медленнее тонкого клиента — это повод перевести постоянных пользователей на тонкий клиент, а не повод менять сервер.
Частые вопросы
Можно ли опубликовать на веб-сервере файловую базу?
Можно ли опубликовать несколько баз на одном веб-сервере?
buh, zup, ut. У каждой будет свой каталог и свой default.vrd. Модули расширения при этом общие, если базы работают на одной версии платформы.Нужна ли отдельная лицензия на веб-сервер?
Что делать с публикацией после обновления платформы?
webinst. Иначе модуль останется от старой сборки, и подключение к обновлённому серверу 1С не пройдёт.Как снять публикацию?
Администрирование → Публикация на веб-сервере нажмите «Отключить». На Linux — webinst с ключом -delete и теми же -wsdir и -confpath.