Публикация информационной базы 1С через IIS и Apache: от установки компонентов до HTTPS
Содержание
Чтобы разместить базу 1С на веб-сервере, нужны три вещи: веб-сервер (IIS в Windows или Apache 2.4), установленный компонент платформы «Модули расширения веб-сервера» и сама публикация. Публикацию делают в Конфигураторе, запущенном от имени администратора: Администрирование → Публикация на веб-сервере. После этого база открывается в браузере по адресу вида http://server/buh и в тонком клиенте через тот же адрес.
Инструкция общая для платформы 1С:Предприятие 8.3 и не зависит от конфигурации: Бухгалтерия, ЗУП, УТ и любые другие базы публикуются одинаково. Разница только в том, файловая база или клиент-серверная.
Что подготовить на сервере до публикации
Веб-сервер ставят на ту машину, где лежит файловая база, или на отдельный сервер в одной сети с сервером 1С. Для небольшой фирмы на 5–15 пользователей обычно хватает одного сервера с Windows Server 2016 или новее.
📋 Минимальный набор:
- 🖥️ ОС — Windows Server 2016/2019/2022 или Linux (Ubuntu, Debian, РЕД ОС и т. п.).
- 🌐 Веб-сервер — IIS 10 (входит в Windows Server) или Apache 2.4.
- 🧩 Платформа 1С с компонентом «Модули расширения веб-сервера».
- 🔑 Лицензии. Браузер пользователя лицензию не берёт. В файловом варианте её получает компьютер с веб-сервером, в клиент-серверном — сервер 1С.
- 🔒 Сертификат TLS, если база будет доступна из интернета.
Версия и разрядность платформы
Это два главных источника проблем, поэтому решите их заранее.
| Что проверить | Правило |
|---|---|
| Версия модулей на веб-сервере (клиент-серверная база) | Номер полностью совпадает с версией сервера 1С, до последней цифры |
| Разрядность платформы и IIS | 64-битная платформа — пул приложений IIS работает в 64-битном режиме; 32-битная — в пуле включают «Разрешить 32-разрядные приложения» |
| Разрядность платформы и Apache | Модуль wsap24.dll той же разрядности, что и сам Apache |
Установка модулей расширения
- Запустите установщик платформы (
setup.exeиз дистрибутива). - На шаге выбора компонентов отметьте «Модули расширения веб-сервера».
- Если база клиент-серверная, на этой машине можно не ставить сервер 1С — достаточно клиента и модулей.
- Завершите установку.
Если компонент не установлен, пункт публикации в Конфигураторе будет недоступен или выдаст ошибку при попытке опубликовать.
Настройка веб-сервера IIS и Apache под 1С
Выбор между ними простой: на Windows-сервере удобнее IIS, на Linux — Apache. Apache на Windows тоже работает, его выбирают, если не хотят разворачивать роль IIS.
| Вариант | Когда выбрать | Особенности |
|---|---|---|
| IIS на Windows | Сервер на Windows, есть администратор, привыкший к оснастке IIS | Ставится как роль, настраивается через Диспетчер IIS |
| Apache 2.4 на Windows | Нужен лёгкий сервер без роли IIS | Ставится как служба, правится файл httpd.conf |
| Apache 2.4 на Linux | Сервер 1С на Linux | Публикация только через webinst или правкой конфигурации |
IIS: какие компоненты роли включить
Откройте Диспетчер серверов → Управление → Добавить роли и компоненты и добавьте роль «Веб-сервер (IIS)». В её составе обязательно отметьте:
Веб-сервер → Разработка приложений → Расширения ISAPI.Веб-сервер → Разработка приложений → Фильтры ISAPI.Средства управления → Консоль управления IIS.- Стандартные компоненты «Статическое содержимое» и «Документ по умолчанию» (обычно включены сами).
После установки откройте в браузере http://localhost. Должна появиться приветственная страница IIS — значит, сервер работает.
Если платформа 32-битная, а Windows 64-битная, откройте Пулы приложений → DefaultAppPool → Дополнительные параметры и поставьте True в строке «Разрешить 32-разрядные приложения». Без этого получите ошибку 500 при первом же обращении.
Apache 2.4 на Windows
- Скачайте сборку Apache 2.4 нужной разрядности (например, с Apache Lounge) и распакуйте в
C:\Apache24. - Установите службу командой из папки
bin:
cd C:\Apache24\bin
httpd.exe -k install
- Запустите службу «Apache2.4» и проверьте
http://localhost— должно появиться «It works!».
Служба Apache по умолчанию работает от учётной записи «Локальная система». Это важно для прав на каталог файловой базы — о них ниже.
Apache 2.4 на Linux
Ставится из репозитория дистрибутива (apt install apache2 в Ubuntu и Debian). Модули 1С устанавливаются вместе с пакетами платформы: нужен пакет с модулями веб-сервера той же версии, что и сервер 1С.
Публикация базы 1С на веб-сервере
Есть два способа: через Конфигуратор (Windows, наглядно) и утилитой webinst (Windows и Linux, удобно для скриптов).
Способ 1. Через Конфигуратор
- Запустите 1С от имени администратора (правой кнопкой по ярлыку). Без этого Конфигуратор не сможет записать файлы в каталог веб-сервера и править его настройки.
- Откройте нужную базу в режиме Конфигуратора.
- Выберите
Администрирование → Публикация на веб-сервере. - Заполните окно:
- Имя — короткое латинское имя, станет частью адреса:
buh→http://server/buh; - Веб-сервер — Internet Information Services или Apache 2.4;
- Каталог — физическая папка публикации, например
C:\inetpub\wwwroot\buhилиC:\Apache24\htdocs\buh; - флажок «Публиковать тонкий клиент и веб-клиент» — оставьте включённым.
- Имя — короткое латинское имя, станет частью адреса:
- На вкладках с веб-сервисами и HTTP-сервисами включайте только то, что реально используется (например, обмен с сайтом или мобильным приложением).
- Нажмите «Опубликовать». Для Apache Конфигуратор предложит перезапустить службу — согласитесь.
Конфигуратор создаёт в каталоге публикации файл default.vrd, а в настройках веб-сервера — обработчик, который передаёт запросы модулю 1С. Строку подключения к базе он берёт из той базы, которая открыта.
Способ 2. Утилитой webinst
Утилита лежит в папке bin платформы. Пример для клиент-серверной базы на Linux с Apache:
cd /opt/1cv8/x86_64/8.3.xx.xxxx
sudo ./webinst -publish -apache24 \
-wsdir buh \
-dir /var/www/buh \
-connstr "Srvr=srv1c;Ref=buh;" \
-confpath /etc/apache2/apache2.conf
sudo systemctl restart apache2
Для файловой базы строка подключения выглядит так: -connstr "File=D:\Bases\Buh;". Удалить публикацию — тем же набором параметров с ключом -delete вместо -publish. Полный список ключей выводится при запуске webinst без параметров.
Что Конфигуратор пишет в httpd.conf
После публикации на Apache в конце httpd.conf появляются строки примерно такого вида:
LoadModule _1cws_module "C:/Program Files/1cv8/8.3.xx.xxxx/bin/wsap24.dll"
Alias "/buh" "C:/Apache24/htdocs/buh/"
<Directory "C:/Apache24/htdocs/buh/">
AllowOverride All
Options None
Require all granted
SetHandler 1c-application
ManagedApplicationDescriptor "C:/Apache24/htdocs/buh/default.vrd"
</Directory>
В пути к wsap24.dll зашит номер версии платформы. После обновления платформы старая папка может быть удалена, и Apache перестанет запускаться. Поэтому после каждого обновления либо переопубликуйте базу, либо поправьте путь в LoadModule вручную. Для IIS то же самое: в сопоставлении обработчиков указан путь к wsisapi.dll старой версии.
Как подключиться к опубликованной базе
- 🌍 Веб-клиент: откройте в браузере
http://server/buh. - 💻 Тонкий клиент: в окне запуска нажмите «Добавить» → «Добавление в список существующей информационной базы» → тип расположения «На веб-сервере» и укажите тот же адрес.
Параметры сеансов и публикации
Опубликовать базу — половина дела. Если пользователи работают через интернет , сеансы часто «зависают»: человек закрыл вкладку браузера, а лицензия ещё занята.
Время жизни сеансов
В клиент-серверной базе откройте Конфигуратор и выберите Администрирование → Параметры информационной базы. Там задаются:
- «Время засыпания пассивного сеанса» — через сколько секунд сеанс без связи с клиентом засыпает и освобождает лицензию;
- «Время завершения спящего сеанса» — через сколько секунд спящий сеанс завершается совсем.
Рабочий ориентир для веб-доступа: засыпание через 1200 секунд (20 минут), завершение через 86400 (сутки). Слишком маленькие значения раздражают пользователей: отошёл на обед — сеанс прервался.
Повторная публикация и обновление
Публикация не привязана к расписанию: она живёт, пока есть файлы в каталоге и запись в настройках веб-сервера. Переопубликовать базу нужно в трёх случаях:
- 🔄 Обновили платформу на сервере (меняется версия модуля).
- 🧭 Перенесли базу в другой каталог или на другой сервер 1С (меняется строка подключения).
- 🧩 Включили новые веб-сервисы или HTTP-сервисы после обновления конфигурации.
Обновление самой конфигурации (новый релиз Бухгалтерии) переопубликации не требует.
Перезапуск службы Apache или пула приложений IIS обрывает все сеансы, открытые через браузер и веб-подключение тонкого клиента. Делайте это вне рабочего времени или предупредите пользователей.
Несколько баз на одном сервере
Каждую базу публикуют под своим именем: buh, zup, ut. Каталоги тоже разные. Одна публикация — одна база, «одна ссылка на все базы» средствами публикации не делается.
Почему опубликованная база не открывается
Большинство ошибок связано с тремя вещами: правами на папки, разрядностью и версией модуля.
Где искать подробности
- Для IIS включите в браузере на сервере подробный вывод ошибок: откройте адрес базы прямо на сервере (
http://localhost/buh) — IIS покажет код и подкод ошибки. - Для Apache смотрите
logs\error.logв каталоге Apache (на Linux —/var/log/apache2/error.log). - Проверьте, что в каталоге публикации есть
default.vrdи в нём правильная строка подключения: путь к файловой базе илиSrvrиRefдля серверной.
Проверяйте сначала с самого сервера через localhost. Если там всё открывается, а снаружи нет — проблема в сети и брандмауэре, а не в 1С.
Безопасный доступ к базе 1С из интернета
Публикация на веб-сервере часто нужна именно для удалённой работы. Здесь легко открыть базу всему интернету без защиты.
Что сделать обязательно
- 🔒 Только HTTPS. В IIS добавьте привязку
httpsна порт 443 с сертификатом, в Apache — модульmod_sslи виртуальный хост на 443. Подойдёт бесплатный сертификат Let’s Encrypt. - 👤 Пароли у всех пользователей 1С. Пустой пароль у пользователя базы при публикации наружу — открытая дверь. Пользователя с полными правами без пароля быть не должно.
- 🚪 Наружу — только 443. Порты сервера 1С (1540, 1541 и диапазон рабочих процессов) из интернета открывать не нужно: веб-сервер обращается к серверу 1С внутри сети.
- 🧱 Ограничьте адреса. Если пользователи работают из известных офисов, разрешите доступ только с их IP: в IIS — «Ограничения IP-адресов и доменов», в Apache — директива
Require ip. - 🧩 Лишние сервисы выключены. Не публикуйте веб-сервисы и OData, если ими никто не пользуется.
Не публикуйте базу наружу по голому HTTP. Логины и пароли пользователей 1С уйдут по сети открытым текстом.
VPN или публикация в интернет
| Вариант | Плюсы | Минусы |
|---|---|---|
| Публикация с HTTPS наружу | Работает из любого браузера, без настроек на стороне пользователя | База видна в интернете, нужна аккуратная настройка паролей и адресов |
| Публикация внутри сети + VPN | База не видна снаружи вообще | Каждому пользователю нужен VPN-клиент |
Для бухгалтерии с персональными данными сотрудников надёжнее второй вариант. Первый уместен, когда пользователей много и раздавать VPN неудобно.