Публикация информационной базы 1С через IIS и Apache: от установки компонентов до HTTPS

· 10 мин

Содержание

Чтобы разместить базу 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С, до последней цифры
Разрядность платформы и IIS64-битная платформа — пул приложений IIS работает в 64-битном режиме; 32-битная — в пуле включают «Разрешить 32-разрядные приложения»
Разрядность платформы и ApacheМодуль wsap24.dll той же разрядности, что и сам Apache

Установка модулей расширения

  1. Запустите установщик платформы (setup.exe из дистрибутива).
  2. На шаге выбора компонентов отметьте «Модули расширения веб-сервера».
  3. Если база клиент-серверная, на этой машине можно не ставить сервер 1С — достаточно клиента и модулей.
  4. Завершите установку.

Если компонент не установлен, пункт публикации в Конфигураторе будет недоступен или выдаст ошибку при попытке опубликовать.

Настройка веб-сервера 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)». В её составе обязательно отметьте:

  1. Веб-сервер → Разработка приложений → Расширения ISAPI.
  2. Веб-сервер → Разработка приложений → Фильтры ISAPI.
  3. Средства управления → Консоль управления IIS.
  4. Стандартные компоненты «Статическое содержимое» и «Документ по умолчанию» (обычно включены сами).

После установки откройте в браузере http://localhost. Должна появиться приветственная страница IIS — значит, сервер работает.

Если платформа 32-битная, а Windows 64-битная, откройте Пулы приложений → DefaultAppPool → Дополнительные параметры и поставьте True в строке «Разрешить 32-разрядные приложения». Без этого получите ошибку 500 при первом же обращении.

Apache 2.4 на Windows

  1. Скачайте сборку Apache 2.4 нужной разрядности (например, с Apache Lounge) и распакуйте в C:\Apache24.
  2. Установите службу командой из папки bin:
cd C:\Apache24\bin
httpd.exe -k install
  1. Запустите службу «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. Запустите 1С от имени администратора (правой кнопкой по ярлыку). Без этого Конфигуратор не сможет записать файлы в каталог веб-сервера и править его настройки.
  2. Откройте нужную базу в режиме Конфигуратора.
  3. Выберите Администрирование → Публикация на веб-сервере.
  4. Заполните окно:
    • Имя — короткое латинское имя, станет частью адреса: buh → http://server/buh;
    • Веб-сервер — Internet Information Services или Apache 2.4;
    • Каталог — физическая папка публикации, например C:\inetpub\wwwroot\buh или C:\Apache24\htdocs\buh;
    • флажок «Публиковать тонкий клиент и веб-клиент» — оставьте включённым.
  5. На вкладках с веб-сервисами и HTTP-сервисами включайте только то, что реально используется (например, обмен с сайтом или мобильным приложением).
  6. Нажмите «Опубликовать». Для 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. 🔄 Обновили платформу на сервере (меняется версия модуля).
  2. 🧭 Перенесли базу в другой каталог или на другой сервер 1С (меняется строка подключения).
  3. 🧩 Включили новые веб-сервисы или 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С из интернета

Публикация на веб-сервере часто нужна именно для удалённой работы. Здесь легко открыть базу всему интернету без защиты.

Что сделать обязательно

  1. 🔒 Только HTTPS. В IIS добавьте привязку https на порт 443 с сертификатом, в Apache — модуль mod_ssl и виртуальный хост на 443. Подойдёт бесплатный сертификат Let’s Encrypt.
  2. 👤 Пароли у всех пользователей 1С. Пустой пароль у пользователя базы при публикации наружу — открытая дверь. Пользователя с полными правами без пароля быть не должно.
  3. 🚪 Наружу — только 443. Порты сервера 1С (1540, 1541 и диапазон рабочих процессов) из интернета открывать не нужно: веб-сервер обращается к серверу 1С внутри сети.
  4. 🧱 Ограничьте адреса. Если пользователи работают из известных офисов, разрешите доступ только с их IP: в IIS — «Ограничения IP-адресов и доменов», в Apache — директива Require ip.
  5. 🧩 Лишние сервисы выключены. Не публикуйте веб-сервисы и OData, если ими никто не пользуется.

Не публикуйте базу наружу по голому HTTP. Логины и пароли пользователей 1С уйдут по сети открытым текстом.

VPN или публикация в интернет

ВариантПлюсыМинусы
Публикация с HTTPS наружуРаботает из любого браузера, без настроек на стороне пользователяБаза видна в интернете, нужна аккуратная настройка паролей и адресов
Публикация внутри сети + VPNБаза не видна снаружи вообщеКаждому пользователю нужен VPN-клиент

Для бухгалтерии с персональными данными сотрудников надёжнее второй вариант. Первый уместен, когда пользователей много и раздавать VPN неудобно.

Перед публикацией наружу

Проверка перед открытием доступа из интернета
Выполнено: 0 / 6

Частые вопросы

Нужна ли отдельная лицензия на веб-клиент?
Нет. Веб-клиент использует те же клиентские лицензии, что и обычный клиент. Один открытый сеанс в браузере занимает одну лицензию.
Можно ли опубликовать файловую базу?
Да. Файловая база публикуется так же, как серверная. Но при 10 и больше одновременных пользователях файловый вариант начинает тормозить, и базу лучше перевести на сервер 1С.
Работают ли через веб-клиент внешние обработки и обмены?
Внешние обработки открываются через загрузку файла в браузере. Обмены, которые работают с файлами на диске сервера, выполняются на стороне сервера, а не на компьютере пользователя.
Какие браузеры поддерживает веб-клиент?
Актуальные версии Chrome, Firefox, Edge, Safari и браузеров на их движках. Старый Internet Explorer для современных версий платформы не годится.
Можно ли поставить веб-сервер не на сервер 1С?
Можно. Веб-сервер ставят на отдельную машину, на ней нужны модули расширения той же версии, что и сервер 1С, и сетевой доступ к серверу 1С по его портам.