Администрирование · 12 мин
Как опубликовать базу 1С на веб-сервере
Пошаговая инструкция по публикации базы 1С на веб-сервере IIS и Apache: требования, настройка публикации, проверка доступа, типичные ошибки и их решение.
Публикация информационной базы 1С на веб-сервере позволяет открыть доступ к ней через браузер и тонкий клиент по протоколу HTTP, без установки платформы на каждом компьютере. Это стандартный способ организовать удалённую работу сотрудников, интеграцию через веб-сервисы и HTTP-сервисы, а также подключение мобильных клиентов.
Процедура сводится к трём этапам: установка и настройка веб-сервера (IIS или Apache), регистрация модуля расширения веб-сервера от 1С и собственно публикация базы из конфигуратора или утилитой командной строки. Каждый этап имеет свои требования к версиям компонентов и типичные подводные камни.
Ниже разобраны оба варианта — IIS на Windows и Apache на Windows/Linux, а также проверка результата, проблемы с правами доступа и безопасностью. Инструкция применима к платформе 1С:Предприятие 8.3 в файловом и клиент-серверном режимах работы.
Что понадобится перед началом работы
Для публикации потребуется установленная платформа 1С:Предприятие 8.3 с компонентом «Модули расширения веб-сервера». Этот компонент не всегда устанавливается по умолчанию — при установке платформы проверьте, что в списке компонентов отмечены модули расширения для IIS и/или Apache. Если компонент отсутствует, запустите установщик платформы повторно в режиме изменения и доустановите его.
Разрядность модуля расширения должна совпадать с разрядностью веб-сервера. Для IIS на 64-разрядной Windows используется 64-разрядная версия модуля, для 32-разрядного пула приложений — 32-разрядная. Для Apache 2.4 существуют отдельные сборки модуля; несовпадение разрядности — одна из самых частых причин ошибки «HTTP 500» при обращении к опубликованной базе.
Учётная запись, под которой выполняется публикация, должна иметь права администратора на веб-сервере: возможность создавать виртуальные каталоги и изменять конфигурационные файлы. Сама база при этом может быть как файловой, так и клиент-серверной — для веб-сервера это прозрачно, подключение к СУБД выполняет рабочий процесс сервера 1С или модуль расширения.
Установка и подготовка веб-сервера IIS
IIS — штатный вариант для Windows Server. Установите роль «Веб-сервер (IIS)» через диспетчер сервера или панель «Включение компонентов Windows». Минимально необходимы службы: «Обычные функции HTTP» (статическое содержимое, документ по умолчанию), «Разработка приложений → ISAPI Extensions» и «ISAPI Filters», «Управление → Консоль управления IIS». Без ISAPI-модулей расширение 1С не сможет обрабатывать запросы.
После установки проверьте, что IIS отвечает: откройте в браузере адрес http://localhost — должна отобразиться стартовая страница IIS. Если страница не открывается, проверьте, запущена ли служба W3SVC и не занят ли порт 80 другим приложением (например, Skype или другим веб-сервером).
Настройка пула приложений
Для 64-разрядного модуля расширения в свойствах пула приложений параметр «Разрешить 32-разрядные приложения» должен быть выключен. Для 32-разрядного модуля — включён. Удостоверение пула должно иметь права на каталог информационной базы (для файлового режима) и на временные каталоги платформы.
Установка и подготовка Apache
Apache чаще используют на Linux или когда IIS недоступен (например, на Windows без серверной лицензии IIS). Поддерживаются версии Apache 2.2 и 2.4, при этом для каждой версии и разрядности существует свой файл модуля расширения: wsap22.dll, wsap24.dll для Windows и соответствующие .so-модули для Linux.
На Windows удобно использовать готовые сборки Apache, совместимые с модулем 1С. После установки проверьте запуск службы и откройте http://localhost. На Linux Apache ставится из репозиториев дистрибутива, а модуль расширения копируется из каталога установки платформы и подключается в конфигурации.
Важный нюанс для Apache 2.4: синтаксис директив управления доступом отличается от 2.2 (Require all granted вместо Allow from all). При публикации конфигуратор формирует корректный фрагмент конфигурации автоматически, но при ручной настройке это различие часто становится источником ошибки 403.
LoadModule _1cws_module "C:/Program Files/1cv8/8.3.22.1750/bin/wsap24.dll"
<VirtualHost *:80>
# фрагмент добавляется конфигуратором при публикации
</VirtualHost>Публикация базы из конфигуратора
Основной способ публикации — через конфигуратор. Откройте базу в конфигураторе под пользователем с правами администратора и перейдите в меню «Администрирование → Публикация на веб-сервере». В открывшемся окне укажите имя публикации (латиницей, без пробелов — оно станет частью URL), выберите веб-сервер и каталог публикации.
На вкладках диалога отмечается, что именно публиковать: тонкий клиент и веб-клиент, веб-сервисы, HTTP-сервисы, стандартный интерфейс OData, сервисы открытых данных. Публикуйте только то, что реально используется: каждый открытый сервис расширяет поверхность доступа и требует контроля прав.
После нажатия «Опубликовать» конфигуратор создаёт в каталоге публикации файл default.vrd — это XML-описание публикации, из которого модуль расширения узнаёт строку подключения к базе и список сервисов. Затем веб-сервер перезапускается (или перезагружается пул приложений), и публикация становится активной.
- 1Установите веб-сервер (IIS или Apache) и проверьте его работу по http://localhost
- 2Доустановите компонент платформы «Модули расширения веб-сервера» нужной разрядности
- 3Откройте базу в конфигураторе → Администрирование → Публикация на веб-сервере
- 4Задайте имя публикации латиницей, выберите веб-сервер и каталог
- 5Отметьте нужные сервисы: веб-клиент, веб-сервисы, HTTP-сервисы, OData
- 6Нажмите «Опубликовать» и дождитесь перезапуска веб-сервера
- 7Проверьте доступ по адресу http://сервер/имя_публикации
Публикация утилитой webinst и ручная настройка
Альтернатива конфигуратору — утилита командной строки webinst из каталога bin платформы. Она удобна для автоматизации: публикацию можно выполнить скриптом на сервере, где нет конфигуратора, или в рамках сценария развёртывания. Утилита поддерживает публикацию для IIS и Apache с указанием пути к базе и набора сервисов.
webinst -publish -apache24 -wsdir MyBase -dir "C:\inetpub\MyBase" -connstr "File=C:\Bases\MyBase;" -confpath "C:\Program Files\Apache24\conf\httpd.conf"Ручная публикация сводится к созданию каталога с файлом default.vrd и регистрации модуля расширения в конфигурации веб-сервера. Для Apache в httpd.conf добавляется загрузка модуля и блок <Location> с обработчиком 1С. Этот способ требует аккуратности: ошибка в XML или путях приводит к тому, что модуль не загружается, и диагностировать причину приходится по логам веб-сервера.
Проверка работоспособности публикации
После публикации откройте в браузере адрес вида http://имя_сервера/имя_публикации. При корректной настройке загрузится страница входа веб-клиента с полем выбора пользователя и пароля. Если публиковался только тонкий клиент, добавьте в адресную строку путь подключения тонкого клиента из строки запуска: wsn=-параметр или адрес вида http://сервер/база в диалоге добавления базы тонкого клиента.
Для проверки веб-сервисов откройте WSDL-описание: http://сервер/база/ws/ИмяСервиса?wsdl — должен вернуться XML-документ. Для OData — http://сервер/база/odata/standard.odata, вернётся список доступных сущностей. Отсутствие ответа или ошибка 404 означает, что сервис не опубликован либо публикация не применилась.
Как проверить результат
Загружается страница входа веб-клиента
Ошибка 404, 500 или бесконечная загрузка
Возвращается XML-описание сервиса
404 — сервис не опубликован; 500 — ошибка модуля
Открывается начальная страница конфигурации
Ошибка аутентификации или недоступности базы
Нет ошибок загрузки модуля wsap/isapi
Сообщения о невозможности загрузить библиотеку
Типичные ошибки и способы их устранения
Ошибка «HTTP 500. Внутренняя ошибка сервера» чаще всего означает несовпадение разрядности модуля расширения и веб-сервера либо отсутствие прав на каталог базы. Проверьте настройки пула приложений IIS и убедитесь, что файл модуля соответствует версии Apache. Вторая по частоте причина — повреждённый или отсутствующий default.vrd в каталоге публикации.
Ошибка 403 (доступ запрещён) в Apache указывает на неверные директивы доступа в конфигурации, в IIS — на отсутствие прав у удостоверения пула на каталог публикации. Ошибка «Информационная база не обнаружена» при открывшейся странице входа означает, что модуль загрузился, но строка подключения в default.vrd указывает на недоступную базу: проверьте путь к файловой базе или параметры сервера 1С.
Безопасность при доступе из интернета
Если база публикуется для доступа извне локальной сети, обязательно включите HTTPS с действующим сертификатом: трафик веб-клиента и веб-сервисов передаёт логины, пароли и данные базы. Дополнительно рекомендуется включить аутентификацию средствами веб-сервера (например, базовую аутентификацию поверх TLS или аутентификацию Windows внутри домена) и ограничить доступ по IP, если круг пользователей известен.
Не публикуйте сервисы «про запас». Стандартный интерфейс OData и HTTP-сервисы при избыточных правах пользователя могут открыть доступ к данным, которые не предполагалось выносить наружу. Создайте для внешних подключений отдельного пользователя 1С с минимально необходимыми правами и отдельную роль для веб-сервисов.
Обновление и сопровождение публикации
После обновления платформы 1С публикацию необходимо выполнить заново, чтобы модуль расширения веб-сервера обновился до новой версии. Конфигуратор при публикации предложит перезаписать существующую публикацию — соглашайтесь. Если после обновления платформы база перестала открываться через веб, первым делом проверьте, какая версия модуля зарегистрирована на веб-сервере.
При переносе базы на другой сервер или изменении строки подключения достаточно отредактировать файл default.vrd в каталоге публикации и перезапустить пул приложений или Apache — полная перепубликация не требуется. Изменения вступают в силу после перезапуска веб-сервера.
Что важно запомнить
Публикация базы 1С выполняется из конфигуратора за несколько минут при условии, что веб-сервер и модуль расширения установлены и совпадают по разрядности. Большинство проблем связано с разрядностью модуля, правами на каталоги и непереприменённой публикацией после обновления платформы. Для доступа из интернета обязательны HTTPS и минимальные права пользователей.
Частые вопросы
Можно ли опубликовать файловую базу 1С на веб-сервере?
Да, файловый режим поддерживается. Модуль расширения веб-сервера сам обращается к файлу базы, поэтому каталог с базой должен быть доступен удостоверению, под которым работает веб-сервер. Для большого числа одновременных пользователей файловый режим имеет ограничения по производительности — в этом случае рассмотрите клиент-серверный вариант.
Чем публикация через IIS отличается от Apache?
По функциональности для пользователей разницы нет — веб-клиент и сервисы работают одинаково. IIS проще в администрировании на Windows и лучше интегрируется с доменной аутентификацией. Apache применяют на Linux и в сценариях, где IIS недоступен; его настройка ведётся через текстовые конфигурационные файлы.
Нужно ли заново публиковать базу после обновления конфигурации?
Обновление конфигурации базы не требует перепубликации — файл default.vrd описывает подключение, а не структуру метаданных. Перепубликация нужна только после обновления платформы (чтобы обновился модуль расширения) и при изменении набора публикуемых сервисов.
Почему веб-клиент открывается, а тонкий клиент не подключается?
Проверьте, что при публикации отмечен пункт «Публиковать тонкий клиент и веб-клиент». В диалоге добавления базы в тонком клиенте выберите тип размещения «На веб-сервере» и укажите тот же URL, что открывается в браузере. Если URL работает в браузере, но не в тонком клиенте, проверьте настройки прокси и сертификата на клиентском компьютере.
Как ограничить доступ к опубликованной базе только локальной сетью?
Настройте привязку сайта к внутреннему IP-адресу сервера и закройте порт веб-сервера на внешнем сетевом интерфейсе брандмауэром. Дополнительно в IIS или Apache можно задать список разрешённых IP-адресов. Базовая защита — не пробрасывать порт веб-сервера на маршрутизаторе наружу.
Что делать при ошибке «Ошибка загрузки компоненты» после обновления платформы?
Эта ошибка означает, что на веб-сервере зарегистрирован модуль расширения старой версии. Выполните публикацию заново из конфигуратора новой версии платформы — она перезапишет регистрацию модуля. Если ошибка сохраняется, проверьте в конфигурации веб-сервера путь к файлу модуля: он должен указывать на каталог новой версии платформы.