Доступ к базе 1С через браузер и тонкий клиент по HTTP: от установки модулей до первого входа

· 9 мин

Содержание

Чтобы подключиться к веб-серверу 1С, базу сначала публикуют на Apache или IIS, а потом в окне запуска добавляют её как информационную базу «на веб-сервере» с адресом вида http://server/buh. Тот же адрес открывается и в браузере — это веб-клиент. Сам по себе веб-сервер 1С ничего не раздаёт: пока база не опубликована, подключаться не к чему.

Частое заблуждение — что «веб-сервер 1С» это отдельная программа, которую ставят вместо сервера 1С:Предприятия. Это не так. Веб-сервер — посредник: он принимает HTTP-запросы от клиента и передаёт их файловой базе или кластеру серверов 1С. Без модуля расширения веб-сервера из дистрибутива платформы Apache и IIS про 1С ничего не знают.

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

Сначала решите три вопроса: где лежит база, на каком веб-сервере публикуем и кто будет подключаться — из локальной сети или из интернета.

Схемы подключения

СхемаКогда подходитНа что смотреть
Файловая база + веб-сервер на том же компьютере3–10 пользователей, удалённые сотрудникиПрава учётной записи веб-сервера на папку базы
Клиент-серверная база + веб-сервер рядом с кластеромДесятки пользователей, внешний доступСеть между веб-сервером и кластером, порты 1540–1541 и диапазон рабочих процессов
Отдельный веб-сервер в DMZДоступ из интернетаHTTPS, закрытые наружу порты кластера

Apache или IIS

  • 🐧 Apache 2.4 — работает и на Windows, и на Linux, настраивается одним файлом httpd.conf. Для Linux-серверов это фактически единственный вариант.
  • 🪟 IIS — встроен в Windows Server, удобен там, где нужна аутентификация Windows и уже есть администратор IIS.

Разрядность имеет значение. 64-битная платформа ставит 64-битный модуль, и веб-сервер должен быть той же разрядности. Для IIS это настройка пула приложений, для Apache — сборка самого Apache.

Для Apache на Windows обычно берут сборку с Apache Lounge. Проверьте, что разрядность сборки совпадает с разрядностью установленной платформы 1С.

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

Это шаг, который чаще всего пропускают. Без него пункт публикации в Конфигураторе будет, но опубликовать базу не получится.

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

После этого в папке bin версии платформы появятся модули: wsap24.dll для Apache 2.4 и wsisapi.dll для IIS. На Linux модули ставятся пакетом ws из дистрибутива сервера, файл называется wsap24.so.

Версия модулей должна совпадать с версией платформы клиентов и сервера 1С. Разные версии — первая причина ошибок при входе.

Что включить в IIS

В «Диспетчере серверов» добавьте роль «Веб-сервер (IIS)» и в службах ролей отметьте:

  • ✅ Расширения ISAPI;
  • ✅ Фильтры ISAPI;
  • ✅ Консоль управления IIS;
  • ✅ Обычная проверка подлинности и проверка подлинности Windows — если будете их использовать.

IIS нужно включить до установки модулей 1С либо после включения переустановить компонент «Модули расширения веб-сервера».

3. Публикация информационной базы на веб-сервере

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

  1. Запустите Конфигуратор от имени администратора Windows. Иначе программа не сможет записать файлы в папку веб-сервера и изменить httpd.conf.
  2. Откройте меню Администрирование → Публикация на веб-сервере.
  3. Укажите Имя — это часть адреса. Имя buh даст адрес http://server/buh. Используйте латиницу без пробелов.
  4. Выберите веб-сервер: Apache 2.4 или Internet Information Services.
  5. Укажите Каталог — папку публикации, например C:\inetpub\wwwroot\buh или C:\Apache24\htdocs\buh.
  6. Оставьте отмеченным «Публиковать тонкий клиент и веб-клиент». Галочки веб-сервисов и HTTP-сервисов нужны, только если ими пользуются обмены.
  7. Нажмите «Опубликовать». Для Apache программа предложит перезапустить службу — согласитесь.

Перезапуск Apache или IIS обрывает текущие веб-сеансы всех опубликованных баз. Публикуйте и перезапускайте вне рабочего времени или предупредите пользователей.

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

Через утилиту webinst

Утилита webinst лежит в той же папке bin и удобна там, где Конфигуратор запускать неудобно: на Linux, на сервере без графики, при публикации нескольких баз скриптом.

Публикация клиент-серверной базы на Apache в Windows:

cd "C:\Program Files\1cv8\8.3.25.1374\bin"
webinst -publish -apache24 -wsdir buh -dir "C:\Apache24\htdocs\buh" -connstr "Srvr=srv1c;Ref=buh;" -confpath "C:\Apache24\conf\httpd.conf"

То же на Linux:

cd /opt/1cv8/x86_64/8.3.25.1374
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.

Что появится в httpd.conf

Проверить публикацию Apache можно по файлу конфигурации. В нём должны быть строки примерно такого вида:

LoadModule _1cws_module "C:/Program Files/1cv8/8.3.25.1374/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>

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

4. Подключение пользователей и аутентификация

Тонкий клиент

  1. В окне запуска 1С нажмите «Добавить» → «Добавление в список существующей информационной базы».
  2. Введите название.
  3. Выберите тип расположения «На веб-сервере».
  4. Укажите адрес: http://server/buh или https://1c.company.ru/buh. Нестандартный порт пишется через двоеточие: http://server:8080/buh.
  5. Остальные шаги мастера оставьте по умолчанию и нажмите «Готово».

Версия тонкого клиента на компьютере пользователя должна совпадать с версией платформы на сервере.

Веб-клиент в браузере

Просто откройте тот же адрес в браузере. Ничего ставить на компьютер не нужно. Разрешите для этого сайта всплывающие окна — 1С открывает в них часть форм. Для работы с файлами браузер может попросить установить расширение для работы с файлами; без него загрузка и выгрузка файлов ограничены.

Права в самой базе

Пользователь входит под своим логином 1С. Проверьте в Конфигураторе (Администрирование → Пользователи) или в пользовательском режиме, что у пользователя:

  • 🔑 включена аутентификация 1С:Предприятия и задан пароль;
  • 🔑 есть право запуска тонкого клиента или веб-клиента — эти права есть в ролях типовых конфигураций, но в доработанных базах их иногда урезают;
  • 🔑 для входа без пароля через домен включена аутентификация операционной системы и указан пользователь Windows.

Права файловой системы

Веб-сервер работает под своей учётной записью. Ей нужны права:

ЧтоКакие праваУчётная запись
Папка публикацииЧтениеIIS: группа IIS_IUSRS; Apache: пользователь службы
Папка bin платформыЧтение и выполнениеТо же
Папка файловой базыПолный доступ (создаются файлы блокировок)То же

Для файловой базы это главная причина ошибок «нет доступа к файлу». Для клиент-серверной базы права на папку базы не нужны — данные хранит кластер.

Аутентификация на уровне веб-сервера

Поверх входа 1С можно включить проверку на самом веб-сервере: обычную (Basic) или Windows в IIS. Тогда браузер сначала спросит учётную запись веб-сервера, а уже потом 1С откроет свою форму входа.

Не прописывайте логин и пароль пользователя 1С в default.vrd для автоматического входа на публикации, открытой в интернет. Любой, кто узнает адрес, войдёт в базу под этим пользователем.

При доступе из интернета включите HTTPS. В Apache это модуль mod_ssl и сертификат, в IIS — привязка сайта к порту 443 с сертификатом. Пароли по голому HTTP передаются в открытом виде.

5. Почему не удаётся подключиться: порты и ошибки

Начинайте проверку с сервера, а не с компьютера пользователя.

  1. Откройте адрес публикации в браузере на самом веб-сервере: http://localhost/buh. Если и там ошибка — дело в публикации или веб-сервере.
  2. Если на сервере открывается, а у пользователя нет — смотрите сеть и брандмауэр.
  3. Проверьте синтаксис конфигурации Apache: httpd -t в Windows или apachectl configtest в Linux.
  4. Посмотрите, слушает ли кто-нибудь порт 80: netstat -ano | findstr :80. Порт может держать другая программа, и Apache тогда не стартует.

Открыть порт в брандмауэре Windows:

netsh advfirewall firewall add rule name="1C Web HTTP" dir=in action=allow protocol=TCP localport=80

Для клиент-серверной базы веб-сервер сам ходит в кластер 1С. Между ними должны быть открыты порт агента 1540, менеджера кластера 1541 и диапазон портов рабочих процессов из свойств рабочего сервера (по умолчанию 1560–1591).

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

Подробный текст ошибки ищите в журнале Apache logs/error.log или в журнале событий Windows для IIS. Он почти всегда точнее того, что видит пользователь.

6. Как ускорить работу через веб-сервер

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

  • 🚀 Ставьте веб-сервер рядом с кластером. Между веб-сервером и сервером 1С много коротких запросов. Задержка в этом звене бьёт по скорости сильнее, чем канал до пользователя.
  • 🚀 Тяжёлую работу — в тонком клиенте. Большие отчёты, обработки, печать пачек документов быстрее идут в тонком клиенте, чем в браузере. Веб-клиент оставьте для редкого входа и удалённых сотрудников без установленной платформы.
  • 🚀 Включите сжатие на веб-сервере для статических файлов веб-клиента — первый вход в браузере станет заметно быстрее.
  • 🚀 Не держите несколько версий модулей. Одна платформа — один LoadModule для всех публикаций на этом Apache.
  • 🚀 Следите за памятью. Каждый веб-сеанс занимает память в рабочих процессах кластера, а для файловой базы — в процессе веб-сервера. Если файловая база через веб-сервер начинает тормозить при росте числа одновременных пользователей, переходите на клиент-серверный вариант.

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

Проверка перед тем, как отдать адрес пользователям
Выполнено: 0 / 7

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

Можно ли опубликовать на одном веб-сервере несколько баз?
Да. Каждая база публикуется под своим именем: http://server/buh, http://server/zup. Модуль 1С подключается в конфиге один раз, на каждую базу добавляется свой блок с алиасом.
Нужен ли сервер 1С:Предприятия, чтобы работать через браузер?
Нет. Опубликовать можно и файловую базу. Но при пяти и больше одновременных пользователях клиент-серверный вариант работает стабильнее.
Как открыть базу 1С через интернет без VPN?
Опубликуйте её на веб-сервере с белым IP или пробросом порта 443 с роутера, включите HTTPS и сильные пароли. Порты кластера 1540–1541 наружу не открывайте.
Что делать с публикацией после обновления платформы?
Установите модули расширения новой версии и перепубликуйте базу из Конфигуратора или webinst новой версии. Тонкие клиенты пользователей тоже обновите до этой версии.
Можно ли ограничить доступ к опубликованной базе по IP?
Да, средствами веб-сервера: в Apache директивой Require ip в блоке публикации, в IIS — через ограничения IP-адресов и доменов, если этот компонент роли установлен.