Публикация информационной базы 1С:Предприятие 8.3 на веб-сервере открывает доступ к системе через браузер без установки толстого клиента. В этом руководстве разобраны два сценария: публикация 1С на Apache в Linux и публикация 1С на IIS в Windows. Вы получите пошаговые команды для файлового и клиент-серверного режима, инструкции по webinst, проверке default.vrd, настройке прав и диагностике ошибок в production-среде.
Краткое резюме: для Windows обычно используют IIS с модулем wsisapi.dll; для Linux — Apache с модулем wsapache.so. В production-средах с несколькими рабочими базами и нагрузкой от пользователей предпочтителен клиент-серверный режим. Ниже приведены команды установки, публикации, проверки результата и решения типовых ошибок.
Когда выбирать Apache, а когда IIS
- Если сервер 1С и веб-сервер работают на Windows, выбирайте IIS: он штатно интегрирован с Windows, поддерживает ISAPI и позволяет централизованно настраивать пулы приложений.
- Если веб-сервер работает на Linux, используйте Apache с модулем wsapache.so. Сервер 1С при этом может находиться на том же или на отдельном узле.
- Для файловой базы оставляйте публикацию только для тестовой среды или небольшой рабочей группы. Каталог с файлом *.1CD должен быть доступен процессу веб-сервера.
- Для production с несколькими пользователями используйте клиент-серверный режим: веб-публикация обращается к кластеру 1С, а кластер управляет подключением к MS SQL или PostgreSQL.
- COM/DCOM проверяйте прежде всего в сценарии IIS, если используемые компоненты 1С или прикладные операции обращаются к COM-объектам. Для Apache на Linux COM+ не используется.
Если вы планируете использовать Nginx в качестве веб-сервера, обратитесь к руководству по настройке веб-доступа к 1С через Nginx с SSL.
Предварительная проверка перед публикацией
До установки веб-сервера проверьте следующие пункты:
- Версия платформы 1С:Предприятие 8.3 на сервере и в веб-модуле совместима. Не смешивайте файлы разных релизов без проверки.
- Разрядность платформы, wsisapi.dll, wsapache.so и пула приложений IIS согласована.
- Сервер 1С:Предприятия установлен, а служба «Агент сервера 1С:Предприятия 8.3» запущена.
- Для клиент-серверного режима доступен кластер 1С и TCP-порт 1540, а при нестандартной конфигурации также доступны заданные рабочие порты.
- Порт веб-сервера 80 или 443 свободен и разрешен в локальном брандмауэре и сетевых ACL.
- У учетной записи веб-сервера есть права на каталог публикации и чтение default.vrd. Для файлового режима нужны права на каталог, где находится файл базы.
- Подготовлено уникальное имя публикации, например mybase, и проверено, что такая база уже зарегистрирована в сервере 1С.
Для Windows откройте «Службы» через services.msc и проверьте службу «Агент сервера 1С:Предприятия 8.3». Для Linux выполните:
sudo systemctl status srv1cv83
ss -tlnp | grep 1540Успешная проверка означает, что служба активна, порт 1540 слушается, а кластер доступен с узла, где будет работать веб-сервер.
Выбор режима работы 1С
Файловый режим означает, что 1С работает с каталогом, содержащим файл базы *.1CD. Клиент-серверный режим подразумевает наличие сервера 1С:Предприятия, который управляет доступом к базе и подключению к СУБД. Это не одно и то же, что веб-сервер: Apache или IIS принимает HTTP-запрос, а сервер 1С обслуживает прикладную базу.
Файловый режим допустим для тестов и небольших рабочих групп, если нагрузка и требования к одновременной работе невелики. Для production-сред с несколькими рабочими базами, большим числом пользователей и требованиями к отказоустойчивости выбирайте клиент-серверный режим. Порог «5–10 пользователей» является практической оценкой, а не жестким ограничением: решение принимайте по нагрузке и характеру операций.
Подготовка сервера 1С: установка и базовые настройки
Веб-публикация невозможна без работающего сервера 1С в клиент-серверном сценарии. Проверьте его состояние до настройки веб-сервера.
Установка сервера 1С на Windows
Запустите установщик платформы 1С:Предприятие 8.3. В списке компонентов отметьте «Сервер 1С:Предприятия». На шаге настройки учетной записи укажите пользователя с правами на запуск служб. По умолчанию может использоваться USR1CV8; в доменной среде учетную запись выбирайте по политике организации и выдавайте ей только необходимые права.
После установки откройте «Службы» через services.msc и убедитесь, что служба «Агент сервера 1С:Предприятия 8.3» запущена. В консоли администрирования серверов 1С проверьте, что кластер отображается и доступен. Для проверки создайте или выберите тестовую информационную базу.
Установка сервера 1С на Linux
Установите RPM или DEB-пакет сервера 1С соответствующей версии и архитектуры:
# Для RPM-дистрибутивов (CentOS, RHEL, Fedora)
sudo rpm -ivh 1c-enterprise83-server-8.3.*.rpm
# Для DEB-дистрибутивов (Debian, Ubuntu)
sudo dpkg -i 1c-enterprise83-server_8.3.*_amd64.debПосле установки запустите службу и добавьте ее в автозагрузку:
sudo systemctl start srv1cv83
sudo systemctl enable srv1cv83
sudo systemctl status srv1cv83Проверьте, что агент сервера слушает порт 1540:
ss -tlnp | grep 1540Если порт не открыт, проверьте журналы службы в /var/log/1C/ и права на каталог /opt/1C/. Для удаленного сервера 1С дополнительно проверьте маршрутизацию и правила брандмауэра между веб-сервером и кластером.
Публикация 1С на Apache (Linux)
Публикация 1С на Apache требует установки веб-сервера, копирования модуля wsapache.so и создания каталога публикации. Примеры ниже ориентированы на Ubuntu 22.04/24.04 и Debian 12, но пути к платформе могут отличаться.
Установка Apache и wsapache.so
sudo apt update
sudo apt install apache2Скопируйте wsapache.so из установленной платформы 1С в каталог модулей Apache. Уточните фактический путь для своего релиза и архитектуры:
sudo cp /opt/1C/v8.3/x86_64/wsapache.so /usr/lib/apache2/modules/Создайте файл загрузки модуля:
echo "LoadModule _1cws_module /usr/lib/apache2/modules/wsapache.so" | sudo tee /etc/apache2/mods-available/1cws.load
sudo a2enmod 1cws
sudo apache2ctl configtest
sudo systemctl restart apache2
apache2ctl -M | grep 1cwsКритерий проверки: команда apache2ctl -M показывает модуль 1cws, а apache2ctl configtest возвращает Syntax OK. Если модуль не загружается, проверьте права чтения файла, архитектуру и зависимости библиотеки.
Публикация через webinst
Утилита webinst создает каталог публикации и файл default.vrd с параметрами подключения. Запустите ее от root:
sudo /opt/1C/v8.3/x86_64/webinst -apache2 -wsdir mybase -dir /var/www/mybase -connstr "Srvr=localhost;Ref=mybase;"
ls -la /var/www/mybase
sudo systemctl restart apache2После успешного выполнения в каталоге публикации обычно появляется default.vrd. В зависимости от версии платформы и параметров также могут присутствовать служебные файлы и каталоги веб-расширения. Проверьте содержимое и права:
sudo test -f /var/www/mybase/default.vrd && echo OK
sudo ls -ld /var/www/mybase
sudo ls -l /var/www/mybase/default.vrdПараметры команды:
- -apache2 — указание веб-сервера Apache;
- -wsdir mybase — имя виртуального каталога, доступного по /mybase;
- -dir /var/www/mybase — каталог файлов публикации;
- -connstr — строка соединения с базой.
Для файлового режима используйте путь к каталогу базы:
sudo /opt/1C/v8.3/x86_64/webinst -apache2 -wsdir mybase -dir /var/www/mybase -connstr "File=/opt/1C/bases/mybase;"Пользователь Apache, обычно www-data, должен иметь право чтения default.vrd. В файловом режиме этому пользователю также нужен доступ к каталогу /opt/1C/bases/mybase и его родительским каталогам. Выдавайте минимальные права, например чтение и выполнение каталогов, а не запись всей файловой системы.
Ручная настройка виртуального хоста Apache
Ручная конфигурация нужна, если необходимо самостоятельно управлять доменом, SSL, ограничением доступа или несколькими публикациями:
sudo nano /etc/apache2/sites-available/1c-mybase.conf<VirtualHost *:80>
ServerName 1c.example.com
DocumentRoot /var/www/mybase
<Directory /var/www/mybase>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
<Location /mybase>
SetHandler 1c-application
ManagedApplicationDescriptor /var/www/mybase/default.vrd
</Location>
</VirtualHost>Активируйте хост и проверьте конфигурацию:
sudo a2ensite 1c-mybase.conf
sudo apache2ctl configtest
sudo systemctl reload apache2
sudo apache2ctl -SПодробные параметры виртуальных хостов Apache для production-среды приведены в статье по настройке Apache на Linux.
Проверка публикации Apache
Откройте URL http://адрес-сервера/mybase. При успешной публикации отображается форма входа в 1С или страница выбора режима аутентификации. В журнале Apache не должно быть ошибок загрузки wsapache.so, доступа к default.vrd или соединения с сервером 1С.
Пример структуры каталогов:
/var/www/mybase/
├── default.vrd
└── служебные-файлы-веб-публикацииПубликация 1С на IIS (Windows)
IIS требует включения роли веб-сервера, установки «Модуль расширения веб-сервера» 1С, согласования разрядности и настройки пула приложений. Названия пунктов могут немного отличаться в разных версиях Windows Server.
Включение IIS и компонентов
Откройте «Управление компьютером» → «Диспетчер серверов» → «Добавить роли и компоненты». Выберите «Веб-сервер (IIS)» и включите расширения ISAPI и фильтры ISAPI. ASP.NET, CGI и проверка подлинности Windows нужны только для соответствующих сценариев и не являются обязательными для каждой публикации 1С.
Install-WindowsFeature -Name Web-Server, Web-ISAPI-Ext, Web-ISAPI-FilterУстановка wsisapi.dll
Запустите установщик платформы 1С:Предприятие 8.3 и отметьте «Модуль расширения веб-сервера». Проверьте наличие файла по пути вида C:\Program Files\1cv8\8.3.xx.xxxx\bin\wsisapi.dll. Если используется 32-разрядная платформа, путь и разрядность должны соответствовать ей.
В «Диспетчере IIS» откройте «Сопоставления обработчиков» и через «Добавление сопоставления модуля» проверьте сопоставление запросов с wsisapi.dll. Разрешайте ISAPI-расширение только после проверки пути и доверия к файлу.
Создание пула и приложения IIS
В «Диспетчере IIS» создайте пул приложений 1CAppPool:
- Версия .NET CLR: Без управляемого кода;
- режим управляемого конвейера: Классический;
- для 64-разрядной платформы снимите флажок «Разрешить 32-разрядные приложения»;
- укажите учетную запись, которой разрешен доступ к необходимым ресурсам 1С.
Создайте приложение в узле «Default Web Site» или на отдельном сайте:
- Псевдоним: mybase;
- пул приложений: 1CAppPool;
- физический путь: C:\inetpub\wwwroot\mybase.
Публикация через webinst и права NTFS
Запустите webinst от имени администратора:
C:\Program Files\1cv8\8.3.xx.xxxx\bin\webinst.exe -iis -wsdir mybase -dir C:\inetpub\wwwroot\mybase -connstr "Srvr=localhost;Ref=mybase;"После выполнения проверьте, что в физическом каталоге появился default.vrd:
Test-Path C:\inetpub\wwwroot\mybase\default.vrd
Get-ChildItem C:\inetpub\wwwroot\mybaseПример структуры:
C:\inetpub\wwwroot\mybase\
├── default.vrd
└── служебные-файлы-веб-публикацииНастройте права NTFS на каталог публикации:
icacls C:\inetpub\wwwroot\mybase /grant "IIS AppPool\1CAppPool":(OI)(CI)RXДля доменной учетной записи укажите ее явно в ACL. Не выдавайте пулу приложений право записи без необходимости. Если модулю требуются библиотеки из каталога платформы, проверьте право чтения и выполнения для C:\Program Files\1cv8\8.3.xx.xxxx\bin.
Проверка публикации IIS
Откройте http://localhost/mybase или URL сайта с псевдонимом публикации. Успешный результат — форма входа в 1С без HTTP 404 и 500, а в журналах IIS нет ошибок загрузки wsisapi.dll. Проверьте также, что пул 1CAppPool запущен и использует нужную разрядность.
COM и DCOM в сценарии IIS
COM/DCOM не являются универсальным обязательным шагом для каждой веб-публикации 1С. Они требуются, когда конкретный сценарий или компонент 1С использует COM-объект, например V83.COMConnector. Для обычной публикации через веб-модуль сначала проверяйте wsisapi.dll, default.vrd, права и соединение с кластером.
Настройка DCOM
Запустите «Службы компонентов» через dcomcnfg.exe и перейдите в «Службы компонентов» → «Компьютеры» → «Мой компьютер» → «Настройка DCOM». Найдите V83.COMConnector или V83.ServerApplication в зависимости от версии платформы.
В свойствах компонента на вкладке «Безопасность» проверьте разрешения на запуск и активацию, разрешения на доступ и разрешения на изменение конфигурации. Учетной записи пула выдавайте только необходимые разрешения, а изменение конфигурации оставляйте администраторам. На вкладке «Удостоверение» используйте «Запускающий пользователь» либо явно назначенную учетную запись с правами на сервер 1С.
При необходимости добавьте учетную запись в локальную группу «Пользователи COM» через «Управление компьютером» → «Локальные пользователи и группы». После изменения DCOM перезапустите пул приложений IIS и повторите проверку.
Диагностика ошибок публикации
При диагностике двигайтесь от веб-сервера к публикации, затем к default.vrd, правам и серверу 1С. Это позволяет отделить ошибку HTTP от ошибки подключения к базе.
| Симптом | Платформа | Вероятная причина | Место проверки или команда | Критерий исправления |
|---|---|---|---|---|
| HTTP 404 | Apache/IIS | Неверный URL, псевдоним или виртуальный хост | Сверьте /mybase с -wsdir; для Apache выполните apache2ctl -S, для IIS проверьте приложение | URL ведет в физический каталог с default.vrd |
| HTTP 500 после публикации | Apache | Не загружен wsapache.so, неверен путь или нет прав | apache2ctl -M; tail -n 100 /var/log/apache2/error.log; ls -l /usr/lib/apache2/modules/wsapache.so | Модуль загружен, configtest возвращает Syntax OK, новых ошибок в журнале нет |
| HTTP 500.0 | IIS | wsisapi.dll не настроен или не загружен | «Диспетчер IIS» → «Сопоставления обработчиков»; проверьте путь к DLL и журнал IIS | Сопоставление активно, DLL соответствует разрядности, запрос возвращает страницу 1С |
| «База не обнаружена» | Обе | Неверная строка соединения в default.vrd или база не зарегистрирована | Проверьте Srvr, Ref, наличие default.vrd и доступность порта 1540 | База открывается из консоли администрирования и через веб-URL |
| «Отказано в доступе» | Обе | Нет прав на каталог публикации или файловой базы | Проверьте ACL каталога и учетную запись процесса веб-сервера | Учетная запись имеет чтение и выполнение требуемых каталогов |
| «Не удалось загрузить модуль» | IIS | Несовпадение разрядности или отсутствует зависимая библиотека | Проверьте «Разрешить 32-разрядные приложения», свойства DLL и каталог bin | Пул и DLL имеют одинаковую разрядность, ошибка исчезла |
| 0x800a03ec | IIS | Ошибка используемого COM-объекта, часто при работе с Excel | Проверьте «Службы компонентов», DCOM, «Региональные стандарты» и права учетной записи | Операция выполняется под учетной записью пула; по возможности используется экспорт без COM |
| Ошибка лицензирования | Обе | Веб-клиент не видит HASP License Manager или ключ | Проверьте службу менеджера лицензий и сетевую доступность | Лицензия видна серверу 1С и веб-клиент проходит запуск |
Почему не открывается веб-клиент 1С
Проверьте URL и псевдоним публикации, наличие default.vrd, статус Apache или пула IIS, загрузку wsapache.so или wsisapi.dll, права учетной записи веб-сервера и доступность сервера 1С по TCP-порту 1540. Для IIS отдельно проверьте разрядность и DCOM только в том случае, если ошибка связана с COM-объектом.
Что проверить при ошибке 500
На Apache откройте /var/log/apache2/error.log и повторите запрос. На IIS изучите журнал сайта и системный журнал Windows. Затем проверьте загрузку модуля, путь к default.vrd, ACL и строку подключения. Ошибка 500 означает сбой на стороне обработки запроса, поэтому одной проверки доступности порта 80 недостаточно.
Как понять, что webinst отработал правильно
Команда должна завершиться без сообщения об ошибке, физический каталог должен существовать, а внутри него должен находиться default.vrd. Проверьте соответствие параметров -wsdir и URL, откройте файл с правами учетной записи веб-сервера и выполните тестовый запрос. Для клиент-серверного режима дополнительно убедитесь, что значения Srvr и Ref указывают на доступный кластер и зарегистрированную базу.
Обеспечение безопасности веб-доступа к 1С
Публикация 1С в веб делает систему доступной из сети. Для production используйте HTTPS, ограничивайте источники доступа и не выдавайте веб-серверу лишние права.
Настройка HTTPS для Apache и IIS
Для Apache можно установить Certbot и получить сертификат Let's Encrypt:
sudo apt install certbot python3-certbot-apache
sudo certbot --apache -d 1c.example.comДля IIS импортируйте сертификат через «Сертификаты сервера», затем в привязках сайта добавьте HTTPS и выберите сертификат. Редирект с HTTP на HTTPS настраивайте после проверки доступности HTTPS.
Ограничение доступа
В Apache используйте директивы Require ip:
<Location /mybase>
Require ip 192.168.1.0/24 10.0.0.0/8
</Location>В IIS настройте «Ограничения IP-адресов» на уровне сайта или приложения. Для удаленной работы предпочтительно размещать публикацию за VPN или другим контролируемым периметром, а не открывать ее напрямую в интернет.
Автоматизация публикации баз
При обслуживании нескольких баз публикацию можно выполнять скриптами, предварительно добавив проверки существования каталогов и обработку кода возврата webinst.
BASES=("base1" "base2" "base3")
for base in "${BASES[@]}"; do
/opt/1C/v8.3/x86_64/webinst -apache2 -wsdir "$base" -dir "/var/www/$base" -connstr "Srvr=localhost;Ref=$base;" || exit 1
done
systemctl reload apache2$bases = @("base1", "base2", "base3")
foreach ($base in $bases) {
& "C:\Program Files\1cv8\8.3.xx.xxxx\bin\webinst.exe" -iis -wsdir $base -dir "C:\inetpub\wwwroot\$base" -connstr "Srvr=localhost;Ref=$base;"
if ($LASTEXITCODE -ne 0) { throw "webinst failed for $base" }
}
Restart-Service W3SVCПосле массовой публикации проверьте наличие default.vrd в каждом каталоге и выполните один тестовый запрос на каждую базу. При размещении инфраструктуры в облаке можно использовать Timeweb Cloud для веб-сервера и сервера 1С с СУБД.
Частые вопросы (FAQ)
Какой веб-сервер лучше для 1С: Apache или IIS?
Выбор определяется операционной системой и способом интеграции. На Windows обычно удобнее IIS, на Linux — Apache с wsapache.so. При правильной настройке оба варианта подходят для production.
Можно ли опубликовать файловую базу 1С на веб-сервере?
Да. Укажите строку File=/opt/1C/bases/mybase; и обеспечьте пользователю веб-сервера права на весь путь к каталогу базы. Для production с заметной нагрузкой используйте клиент-серверный режим.
Почему не открывается веб-клиент 1С после публикации?
Начните с URL и наличия default.vrd, затем проверьте модуль веб-сервера, права, строку соединения и TCP-порт 1540. На IIS дополнительно проверьте разрядность пула и wsisapi.dll.
Что означает ошибка 500 после публикации?
Обычно это ошибка модуля, прав, зависимых библиотек или соединения с сервером 1С. Точную причину ищите в error.log Apache или журнале IIS непосредственно в момент повторного запроса.
Как исправить ошибку 0x800a03ec?
Если ошибка возникает при работе с COM-объектом, проверьте DCOM, учетную запись пула, «Пользователи COM» и «Региональные стандарты». Для выгрузки данных по возможности используйте формат, не требующий Excel.Application.
Нужен ли HTTPS для веб-доступа к 1С?
При доступе из внешней сети HTTPS обязателен. После установки сертификата дополнительно ограничьте доступ по IP, VPN или средствами сетевого периметра.