Как открыть 1С для работы через браузер и тонкий клиент по HTTP

· 10 мин

Содержание

Веб-доступ к 1С настраивают в три шага: ставят на сервер веб-сервер (Apache или IIS) и модуль расширения 1С, публикуют базу через Администрирование → Публикация на веб-сервере в Конфигураторе или утилитой webinst, а затем закрывают публикацию сертификатом HTTPS. После этого пользователи работают с базой по адресу вида https://1c.example.ru/buh — в браузере или в тонком клиенте, без VPN и RDP.

Настройка одинакова для Бухгалтерии, ЗУП, УТ и других конфигураций: публикуется информационная база, а не конкретная программа. Отличия есть только между файловой и клиент-серверной базой и между веб-серверами.

Что подготовить на сервере до публикации базы

Начните с решения, нужен ли веб-доступ вообще. Он хорош для удалённой работы бухгалтера, филиала или руководителя. Но есть случаи, когда удобнее другой способ.

СценарийЧто выбратьПочему
2–10 удалённых пользователей, обычная работа с документамиВеб-публикация + тонкий клиентНе нужен терминальный сервер и лицензии RDS
Нужны внешние обработки, сканер штрихкодов, торговое оборудованиеRDP или RemoteAppЧерез браузер оборудование подключается сложнее
Конфигурация на обычных формах (старые доработанные базы)RDPВеб-клиент работает только с управляемыми формами
Сотрудники в одной сетиОбычное подключение к базеВеб-сервер — лишнее звено

Состав программ на сервере

  • 🖥️ Платформа 1С 8.3 с компонентом «Модули расширения веб-сервера». Его отмечают в установщике платформы. Без него публикация не появится.
  • 🌐 Веб-сервер. На Windows — Apache 2.4 или IIS. На Linux — Apache 2.4.
  • 🔢 Разрядность. 64-битный Apache требует 64-битного модуля, то есть 64-битной платформы. Смешивать нельзя.
  • 🔁 Версия. Для клиент-серверной базы версия модуля веб-сервера должна точно совпадать с версией сервера 1С, вплоть до номера сборки.
  • 🔑 Лицензии. Веб-клиент занимает клиентскую лицензию так же, как тонкий клиент. Для клиент-серверной базы лицензии берутся на сервере 1С, для файловой — на компьютере, где работает веб-сервер.

Модуль лежит в каталоге платформы. На Windows это C:\Program Files\1cv8\<версия>\bin\wsap24.dll для Apache и wsisapi.dll для IIS. На Linux — /opt/1cv8/x86_64/<версия>/wsap24.so.

Файловая или клиент-серверная база

Файловую базу опубликовать можно, и для 2–3 человек это рабочий вариант. Но процесс веб-сервера сам открывает файл 1Cv8.1CD, поэтому учётной записи веб-сервера нужны права на изменение каталога базы.

Когда пользователей больше пяти или база тяжёлая, переводите её на сервер 1С. Веб-сервер тогда только передаёт запросы, а работу делают рабочие процессы кластера.

HTTP или HTTPS: какой протокол выбрать для веб-доступа

Коротко: HTTP — только для проверки внутри офисной сети. Наружу публикацию отдают исключительно по HTTPS.

ПротоколГде допустимРиск
HTTP (порт 80)Локальная сеть, тестовый стендЛогин, пароль и все данные базы идут открытым текстом
HTTPS (порт 443)Интернет, удалённые сотрудникиНужен сертификат и его продление

При аутентификации 1С пароль пользователя уходит в теле запроса. По HTTP его увидит любой, кто стоит на пути трафика: провайдер, владелец публичного Wi-Fi, взломанный роутер. Поэтому сначала доведите публикацию до рабочего состояния по HTTP внутри сети, затем включите HTTPS и только потом откройте порт наружу.

Сертификат Let’s Encrypt бесплатный и выдаётся на 90 дней. На Linux его получает и продлевает certbot, на Windows с IIS — утилита win-acme. Для сертификата нужно доменное имя, на голый IP-адрес он не выпускается.

Публикация базы 1С на Apache, IIS и за Nginx

Через Конфигуратор

  1. Запустите Конфигуратор от имени администратора Windows. Иначе 1С не сможет записать настройки в httpd.conf или в IIS.
  2. Откройте базу и выберите Администрирование → Публикация на веб-сервере.
  3. Задайте Имя публикации латиницей, например buh. Оно станет частью адреса.
  4. Выберите веб-сервер: Apache 2.4 или Internet Information Services.
  5. Укажите Каталог публикации, например C:\inetpub\wwwroot\buh. Каталог должен существовать.
  6. Снимите флажки публикации OData, веб-сервисов и HTTP-сервисов, если интеграции через них вам не нужны.
  7. Нажмите Опубликовать и согласитесь на перезапуск веб-сервера.

Перезапуск обрывает сеансы тех, кто уже работает через этот веб-сервер. Публикуйте в нерабочее время или предупредите людей.

Утилитой webinst

Для сервера без графического интерфейса и для Linux удобнее командная строка. Утилита webinst лежит в каталоге платформы рядом с 1cv8.

cd "C:\Program Files\1cv8\8.3.24.1467\bin"
webinst -publish -apache24 -wsdir buh -dir "C:\Apache24\htdocs\buh" -connstr "Srvr=srv1c;Ref=buh;" -confpath "C:\Apache24\conf\httpd.conf"
cd /opt/1cv8/x86_64/8.3.24.1467
sudo ./webinst -publish -apache24 -wsdir buh -dir /var/www/buh -connstr "Srvr=localhost;Ref=buh;" -confpath /etc/apache2/apache2.conf
sudo systemctl restart apache2

Для файловой базы строка подключения выглядит так: -connstr "File=""D:\Bases\Buh"";". Для IIS вместо -apache24 и -confpath пишут ключ -iis. Номер версии в пути подставьте свой.

Что появляется в настройках Apache

После публикации в httpd.conf (на Ubuntu — в apache2.conf) дописывается блок. Полезно знать его наизусть: при обновлении платформы правят именно его.

LoadModule _1cws_module "C:/Program Files/1cv8/8.3.24.1467/bin/wsap24.dll"

# 1c publication
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>

В каталоге публикации создаётся файл default.vrd. В нём адрес публикации и строка подключения к базе:

<?xml version="1.0" encoding="UTF-8"?>
<point xmlns="http://v8.1c.ru/8.2/virtual-resource-system"
       xmlns:xs="http://www.w3.org/2001/XMLSchema"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       base="/buh"
       ib="Srvr=srv1c;Ref=buh;">
</point>

После обновления платформы 1С путь в строке LoadModule указывает на старую версию. Если старую версию удалили, Apache не стартует. Переопубликуйте базу из нового Конфигуратора или поправьте путь вручную и перезапустите службу.

Особенности IIS

  • Включите роль «Веб-сервер (IIS)» и в ней компоненты «Расширения ISAPI» и «Фильтры ISAPI».
  • Для 32-битной платформы в пуле приложений публикации разрешите 32-разрядные приложения. Для 64-битной оставьте как есть.
  • Группе IIS_IUSRS дайте чтение каталога bin платформы и каталога публикации. Для файловой базы — ещё и изменение каталога базы.

Nginx перед Apache

Модуля 1С для Nginx нет. Если сервер уже работает на Nginx или нужен удобный TLS, его ставят обратным прокси, а публикацию держат на Apache на внутреннем порту, например 127.0.0.1:8080.

server {
    listen 443 ssl http2;
    server_name 1c.example.ru;

    ssl_certificate     /etc/letsencrypt/live/1c.example.ru/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/1c.example.ru/privkey.pem;

    client_max_body_size 100m;

    location / {
        proxy_pass http://127.0.0.1:8080;
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-Proto https;
        proxy_read_timeout 600s;
        proxy_buffering off;
    }
}

client_max_body_size нужен для загрузки файлов в базу: по умолчанию Nginx режет запросы больше 1 МБ. Увеличенный proxy_read_timeout спасает от обрыва долгих операций вроде закрытия месяца.

Вход пользователей: аутентификация и права при веб-доступе

Через публикацию работают те же пользователи, что заведены в базе. Новых учётных записей создавать не нужно.

Способы входа

СпособКак работаетКогда подходит
Аутентификация 1СБраузер или тонкий клиент показывает окно логина и пароля базыУдалённые сотрудники вне домена
Аутентификация ОСВход под доменной учётной записью без пароляПользователи в домене, IIS с включённой проверкой подлинности Windows
Логин в default.vrdПароль прописан в файле публикацииПочти никогда: любой, кто знает адрес, войдёт под этим пользователем

Для входа через ОС в карточке пользователя базы отметьте аутентификацию операционной системы и укажите учётку в виде \\DOMAIN\ivanova.

Права, которые проверяют в первую очередь

  • 🔐 У каждого пользователя базы должен быть пароль. Пользователь без пароля при веб-доступе — открытая дверь в интернет.
  • 👤 Право на веб-клиент и тонкий клиент даёт роль пользователя. В типовых конфигурациях это настраивается профилями групп доступа в Администрирование → Настройки пользователей и прав.
  • 🚫 Полные права и роль администратора не выдавайте учётке, под которой заходят снаружи. Администрирование делайте из локальной сети.
  • 📁 Для файловой базы учётная запись службы веб-сервера (на Linux обычно www-data) должна иметь чтение и запись каталога базы.

Как ускорить работу 1С через браузер

Веб-клиент чувствителен к задержке сети больше, чем к ширине канала. Каждый вызов сервера — это запрос по интернету, и при пинге 80–100 мс формы открываются заметно медленнее, чем в офисе.

Что реально помогает:

  1. Тонкий клиент вместо браузера. Он кеширует интерфейс и работает быстрее веб-клиента. В списке баз нажмите Добавить → Добавление в список существующей информационной базы и выберите вариант подключения на веб-сервере, указав адрес публикации.
  2. Режим низкой скорости соединения. Для медленных каналов тонкий клиент запускают с параметром /O Low. Платформа сокращает число обращений к серверу.
  3. Клиент-серверная база . Файловая база через веб-сервер обрабатывает запросы пользователей по очереди, и уже при 4–5 активных бухгалтерах начинаются ожидания.
  4. Сервер ближе к пользователям. Сервер в Москве для сотрудников во Владивостоке даст пинг 120 мс и больше.
  5. Сжатие и HTTP/2 на прокси. Nginx или Apache с mod_deflate уменьшают объём передаваемого интерфейса.

Перед жалобами «1С тормозит через интернет» замерьте пинг до сервера и запустите ту же операцию в локальной сети. Если в офисе тоже медленно — дело в базе, а не в веб-доступе.

Защита веб-публикации: сертификат, фаервол, резервные копии

Опубликованная база — это бухгалтерия компании, доступная из интернета. Минимальный набор мер:

  • 🔒 Только HTTPS. Порт 80 оставьте лишь для перенаправления на 443 и продления сертификата.
  • 🧱 Фаервол. Наружу открыты только 80 и 443. Порты кластера 1С (1540, 1541, диапазон рабочих процессов 1560–1591) и сервера СУБД из интернета недоступны.
  • 🌍 Ограничение по адресам. Если у филиала постоянный IP, разрешите доступ к публикации только с него. В Apache это Require ip 203.0.113.10 в блоке <Directory>.
  • 🧩 Лишние сервисы выключены. Неиспользуемые OData и HTTP-сервисы не публикуйте: каждый из них — ещё одна точка входа.
  • 🔑 Пароли. Включите в базе требования к сложности паролей. Отдельно уберите пользователей уволенных сотрудников.
  • 💾 Резервные копии. Копия базы по расписанию — средствами СУБД для клиент-серверной базы или выгрузкой .dt для файловой. Храните её не на том же сервере.

Выгрузку .dt через Конфигуратор делают при монопольном доступе: всех пользователей, включая веб-сеансы, придётся завершить. Планируйте её на ночь.

Дополнительный уровень защиты — VPN поверх веб-доступа. Тогда публикация вообще не видна из интернета, а удалённые сотрудники подключаются к ней как из офиса.

Проверка и запуск веб-доступа в работу

Не отдавайте адрес всем сотрудникам сразу. Сначала проверьте публикацию по шагам, от локальной сети к внешней.

  1. На самом сервере откройте http://localhost/buh. Должно появиться окно входа в базу.
  2. С другого компьютера в офисе откройте http://<имя-сервера>/buh.
  3. Подключитесь тонким клиентом по тому же адресу.
  4. Включите HTTPS и откройте https://1c.example.ru/buh из внешней сети, например с мобильного интернета.
  5. Дайте доступ одному-двум пользователям на неделю. Пусть проведут обычные документы, распечатают формы и загрузят файл.
  6. Только после этого раздайте адрес остальным.
Перед запуском веб-доступа для всех
Выполнено: 0 / 7

В браузере пользователю нужно разрешить всплывающие окна для адреса публикации. Веб-клиент открывает в них формы и печать, а блокировщик это молча прячет.

Ошибки при настройке веб-доступа к 1С

Диагностика: выберите симптом

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

Можно ли опубликовать на одном веб-сервере несколько баз?
Да. Каждая база публикуется под своим именем, например buh и zup. В настройках веб-сервера появится отдельный блок Alias для каждой.
Работает ли веб-клиент на телефоне?
Открывается в мобильном браузере, но формы рассчитаны на большой экран. Для работы с телефона удобнее мобильный клиент 1С, который подключается к той же публикации.
Нужно ли покупать отдельную лицензию на веб-сервер?
Отдельной лицензии на сам веб-сервер нет. Пользователи веб-клиента занимают обычные клиентские лицензии, а для клиент-серверной базы нужна ещё и лицензия на сервер 1С.
Можно ли опубликовать базу без домена, по IP-адресу?
Технически да, по HTTP. Но бесплатный сертификат на IP не выпустить, а без HTTPS публиковать базу в интернет опасно. Домен третьего уровня стоит дешевле, чем последствия утечки.
Как убрать публикацию?
В Конфигураторе откройте то же окно публикации и нажмите «Отключить» или выполните webinst с ключом -delete и тем же именем публикации. Затем перезапустите веб-сервер.