Администрирование · 10 мин
Как сделать публикацию веб-сервера 1С
Публикация информационной базы 1С на веб-сервере Apache и IIS: установка компонентов, настройка default.vrd, права доступа, проверка работы и типичные ошибки.
Публикация информационной базы 1С на веб-сервере позволяет пользователям работать с программой через браузер или тонкий клиент по протоколу HTTP, без установки платформы на каждый компьютер. Это стандартный способ организовать удалённый доступ к базе, подключить мобильных клиентов или опубликовать веб-сервисы и HTTP-сервисы для интеграции с другими системами.
Технически публикация сводится к трём действиям: установке веб-сервера (Apache или IIS), установке компонентов расширения веб-сервера 1С и созданию файла публикации default.vrd, который связывает виртуальный каталог с конкретной информационной базой. Ниже разобран каждый шаг с проверками результата и разбором типичных ошибок.
Что потребуется перед публикацией
Для публикации понадобится компьютер с установленной платформой 1С:Предприятие той же версии, что и сервер 1С (или версии, с которой работает база). Разрядность важна: 64-разрядный веб-сервер требует 64-разрядных модулей расширения веб-сервера, смешивать разрядности нельзя.
Также необходим сам веб-сервер. На Windows чаще всего используют IIS (встроенный компонент системы) или Apache 2.4, на Linux — Apache. Учтите, что 1С официально поддерживает конкретные версии Apache, указанные в документации к вашей версии платформы; слишком новые ветки Apache могут не поддерживаться.
Проверьте, что у вас есть: права администратора на сервере, строка подключения к информационной базе (для клиент-серверного варианта — имя сервера 1С и имя базы, для файлового — путь к каталогу базы), а также доступ к консоли веб-сервера.
Установка и подготовка веб-сервера
Для IIS включите компоненты Windows: «Службы IIS», «Расширения ISAPI», «Фильтры ISAPI», «Проверка подлинности Windows» (если планируется сквозная аутентификация). После установки убедитесь, что сайт по умолчанию отвечает в браузере по адресу http://localhost.
Для Apache установите дистрибутив, запустите службу и проверьте открытие стартовой страницы. Порт 80 не должен быть занят другими службами (частая ситуация — его занимает Skype, IIS или служба отчётов SQL Server). Проверить занятость порта можно командой ниже.
netstat -ano | findstr :80Если планируется доступ извне, заранее продумайте сетевую часть: открытый порт на межсетевом экране, статический адрес или имя хоста, а для защиты трафика — TLS-сертификат и публикация по HTTPS.
Публикация базы через конфигуратор
Основной способ публикации — встроенный диалог конфигуратора. Откройте базу в конфигураторе и перейдите в меню «Администрирование → Публикация на веб-сервере».
- 1Запустите конфигуратор от имени администратора и откройте нужную базу
- 2Откройте Администрирование → Публикация на веб-сервере
- 3Укажите имя публикации (латиницей, без пробелов) — оно станет частью URL
- 4Выберите веб-сервер (IIS или Apache) и каталог публикации
- 5Отметьте нужные флажки: публикация тонкого и веб-клиента, веб-сервисов, HTTP-сервисов, стандартного интерфейса OData
- 6Нажмите «Опубликовать» и дождитесь сообщения об успешной публикации
- 7Проверьте работу, открыв в браузере адрес вида http://сервер/имя_публикации
Имя публикации — это виртуальный каталог в адресной строке. Например, при имени «trade» база будет доступна по адресу http://server/trade. Используйте только латинские буквы, цифры и знак подчёркивания: кириллица и пробелы в имени приводят к ошибкам доступа.
Флажки публикации определяют, что именно будет доступно. Для работы пользователей через браузер достаточно публикации тонкого и веб-клиента. Веб-сервисы и HTTP-сервисы публикуйте только если они реально используются — каждый опубликованный сервис расширяет поверхность атаки.
Файл default.vrd и ручная настройка
Результат публикации — файл default.vrd в каталоге публикации. Это XML-файл, который описывает связь виртуального каталога с информационной базой. Его можно редактировать вручную, когда диалог конфигуратора недоступен или требуется тонкая настройка.
Пример содержимого для клиент-серверной базы:
<?xml version="1.0" encoding="UTF-8"?>
<point name="trade" xmlns="http://v8.1c.ru/8.2/virtual-resource-system" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<infoBase name="trade" srvr="srv1c" ref="trade_db"/>
</point>Для файловой базы вместо атрибутов srvr и ref указывается каталог: ib="File=\"C:\bases\trade\";". После ручного редактирования default.vrd перезапускать веб-сервер обычно не требуется — изменения подхватываются при следующем обращении.
Для Apache диалог публикации автоматически добавляет директивы в файл httpd.conf. Если публикация выполняется вручную, добавьте загрузку модуля wsap24.dll (для Apache 2.4) и секцию для каталога публикации, после чего перезапустите Apache.
Права доступа и типичные проблемы безопасности
Учётная запись, от имени которой работает веб-сервер (для IIS — пул приложений, для Apache — служебная учётная запись), должна иметь чтение и запись в каталог публикации и, для файловых баз, полный доступ к каталогу базы. Отсутствие прав — причина ошибок «Ошибка доступа к файлу» и невозможности войти в базу.
Не публикуйте базу «как есть» с пустыми паролями пользователей. Перед открытием доступа извне убедитесь, что у всех пользователей заданы пароли, роли настроены корректно, а доступ администратора ограничен. Публикация по HTTP без шифрования передаёт логины и данные открытым текстом — для доступа через интернет настраивайте HTTPS.
Проверка результата публикации
Первичная проверка — открытие адреса публикации в браузере с самого сервера, затем с рабочей станции в сети. При корректной публикации загружается страница входа веб-клиента или предложение выбрать клиент.
Как проверить результат
Загружается страница входа 1С или список клиентов
Ошибка 404 — публикация не создана, 500 — проблема с модулем или правами
База открывается, интерфейс соответствует правам пользователя
Ошибка аутентификации или пустой список пользователей — неверная строка подключения к базе
Клиент подключается и показывает ту же базу
Ошибка соединения — проверьте имя публикации и доступность порта
Если страница не открывается, смотрите журналы веб-сервера: для IIS — журналы в каталоге inetpub\logs, для Apache — error.log. Ошибка 500 чаще всего означает несоответствие разрядности модуля расширения и веб-сервера либо отсутствие прав на каталог.
Частые ошибки и их устранение
Отдельная ситуация — обновление платформы. Модули расширения веб-сервера жёстко привязаны к версии платформы, поэтому после обновления платформы на сервере публикацию необходимо выполнить заново из конфигуратора новой версии, иначе веб-доступ перестанет работать.
Выбор между Apache и IIS
Сравнение вариантов
Подходит для Windows-инфраструктуры, удобен при необходимости сквозной Windows-аутентификации. Ограничение — требует лицензии Windows Server при промышленном использовании
Кроссплатформенный вариант, работает и на Windows, и на Linux, не требует лицензионных затрат. Ограничение — поддерживаются только конкретные версии, указанные в документации платформы
Публикация из конфигуратора для целей отладки HTTP-сервисов и мобильных приложений. Не предназначен для рабочей эксплуатации
Для небольшой организации на Windows проще начать с IIS — он ставится штатными средствами системы и хорошо документирован. Если сервер на Linux или требуется избежать лицензионных расходов, выбирайте Apache поддерживаемой версии.
Что важно запомнить
Публикация выполняется из конфигуратора при установленных модулях расширения веб-сервера; ключевые условия — совпадение разрядности и версии платформы, латинское имя публикации, права на каталоги и HTTPS при доступе извне. После обновления платформы публикацию нужно пересоздавать.
Частые вопросы
Можно ли опубликовать несколько баз на одном веб-сервере?
Да. Каждая база публикуется под своим именем, и все публикации сосуществуют на одном веб-сервере: http://сервер/trade, http://сервер/accounting и так далее. Для каждой базы создаётся отдельный каталог с собственным файлом default.vrd.
Работает ли веб-клиент без установки платформы у пользователя?
Да, в этом и смысл веб-клиента: пользователю нужен только поддерживаемый браузер. Однако тонкий клиент при подключении через веб-сервер требует установки на компьютер пользователя, хотя и подключается по HTTP через ту же публикацию.
Что делать, если после публикации браузер показывает ошибку 500?
Чаще всего причина в несовпадении разрядности модуля расширения и веб-сервера, отсутствии прав на каталог публикации или незагруженном модуле. Проверьте журнал ошибок веб-сервера, убедитесь, что установлены модули нужной разрядности, и повторите публикацию из конфигуратора, запущенного от имени администратора.
Нужно ли заново публиковать базу после обновления платформы?
Да. Модули расширения веб-сервера привязаны к конкретной версии платформы, поэтому после обновления платформы на сервере откройте конфигуратор новой версии и выполните публикацию повторно. Иначе веб-доступ перестанет работать из-за несовпадения версий модулей.
Как ограничить доступ к опубликованной базе?
Основной уровень защиты — аутентификация пользователей 1С и корректно настроенные роли. Дополнительно можно ограничить доступ средствами веб-сервера (по IP-адресам, через базовую аутентификацию), а для доступа через интернет обязательно использовать HTTPS и, при возможности, VPN.
Можно ли опубликовать файловую базу, лежащую на сетевом диске?
Технически можно, указав путь в default.vrd, но это нежелательно: учётной записи веб-сервера нужен доступ к сетевому ресурсу, а производительность и надёжность такой схемы ниже. Для многопользовательской работы через веб-сервер рекомендуется клиент-серверный вариант с СУБД.