Работа с 1С через браузер: от модуля веб-сервера до первой ссылки
Содержание
Чтобы открыть 1С в браузере, базу сначала публикуют на веб-сервере (IIS или Apache) с установленным модулем расширения 1С. После этого пользователь вводит в браузере адрес вида http://имя-сервера/buh/ и попадает в окно авторизации 1С. Отдельно ставить платформу на рабочее место не нужно.
Частое заблуждение — что достаточно «расшарить» папку с базой или открыть порт 1541, и браузер сам подхватит 1С. Нет: браузер умеет говорить только по HTTP/HTTPS. Посредником между ним и базой всегда работает веб-сервер с модулем 1С. Без этой связки ссылки на базу просто не существует.
Как устроен запуск 1С через браузер
Веб-клиент — это тот же интерфейс 1С:Предприятия, только собранный из JavaScript и HTML. Его код хранится в платформе на сервере и отдаётся браузеру при первом входе.
Цепочка выглядит так:
- 🌐 Браузер отправляет запрос на веб-сервер по адресу публикации.
- 🧩 Веб-сервер передаёт запрос модулю расширения 1С:
wsisapi.dllдля IIS,wsap24.dllдля Apache 2.4 в Windows,wsap24.soв Linux. - 🗄️ Модуль по строке соединения из файла
default.vrdоткрывает базу: файловую напрямую или клиент-серверную через агент кластера (порт 1540). - 📄 Ответ уходит обратно в браузер.
Отсюда три практических вывода:
- Платформа нужна на веб-сервере. Модуль работает только вместе с установленной платформой той же версии и той же разрядности, что и веб-сервер.
- Версия клиента совпадает с сервером автоматически. Веб-клиент загружается с сервера, поэтому проблема «версия клиента не совпадает с версией сервера» у браузерных пользователей не возникает.
- Лицензии расходуются как обычно. Каждый сеанс веб-клиента занимает клиентскую лицензию так же, как сеанс тонкого клиента .
Тот же адрес публикации подходит и для тонкого клиента. В списке баз нажмите Добавить, выберите подключение на веб-сервере и укажите адрес. Так работают удалённые сотрудники, которым нужен привычный клиент, но без VPN к серверу 1С.
Что подготовить на сервере перед публикацией
Перед настройкой проверьте окружение. Большая часть ошибок публикации возникает именно здесь, а не в 1С.
| Что нужно | Для IIS (Windows) | Для Apache (Windows/Linux) |
|---|---|---|
| Веб-сервер | Роль «Веб-сервер (IIS)» в Windows Server 2016 и новее | Apache 2.4 |
| Модуль 1С | wsisapi.dll | wsap24.dll / wsap24.so |
| Компонент платформы | «Модули расширения веб-сервера» | то же; в Linux — пакет веб-сервера 1С |
| Разрядность | 64-битный IIS → 64-битная платформа | разрядность Apache = разрядность платформы |
| Права | IIS_IUSRS на каталог платформы и каталог базы | пользователь Apache (www-data, apache) на каталог базы |
Для IIS при добавлении роли включите в разделе разработки приложений компоненты «Расширения ISAPI» и «Фильтры ISAPI». Также нужна консоль управления IIS. Без расширений ISAPI модуль 1С не загрузится, а браузер получит ошибку 404 или 500.
Если база клиент-серверная, веб-сервер должен видеть сервер 1С: порты 1540, 1541 и диапазон рабочих процессов (по умолчанию 1560–1591, задаётся в свойствах рабочего сервера). Для файловой базы нужен доступ к её каталогу с правами на чтение и запись.
Установка модуля расширения веб-сервера
В Windows
- Запустите установщик платформы той версии, на которой работает база.
- На шаге выбора компонентов включите «Модули расширения веб-сервера». Ставить «Сервер 1С:Предприятия» на этот компьютер не обязательно, если кластер работает на другой машине.
- Если планируется публикация из Конфигуратора, выберите и «1С:Предприятие» — он понадобится для запуска Конфигуратора.
- Убедитесь, что разрядность совпадает с веб-сервером. IIS на Windows Server по умолчанию 64-битный, значит, нужен 64-битный дистрибутив платформы.
В Linux
Модуль входит в пакет веб-сервера из дистрибутива платформы. После установки файл wsap24.so лежит в каталоге платформы, например /opt/1cv8/x86_64/<версия>/. Публикацию в Linux делают утилитой webinst из того же каталога.
После обновления платформы публикацию нужно обновить. Путь к модулю содержит номер версии. Если удалить старую платформу, Apache не запустится с ошибкой загрузки модуля, а IIS начнёт отдавать 500. Перепубликуйте базу или поправьте путь к модулю.
Публикация информационной базы на веб-сервере
Есть два способа: через Конфигуратор (удобно в Windows) и утилитой webinst (подходит для Linux и для скриптов).
Способ 1. Через Конфигуратор
- Запустите 1С от имени администратора Windows: без этого записать файлы в
C:\inetpub\wwwrootи изменить настройки IIS не получится. - Откройте базу в режиме Конфигуратора.
- Выберите
Администрирование → Публикация на веб-сервере. - Укажите имя публикации латиницей, например
buh. Это будет часть адреса. - Выберите веб-сервер: Internet Information Services или Apache 2.4. Для Apache укажите путь к его каталогу.
- Каталог публикации по умолчанию создаётся в
C:\inetpub\wwwroot\buh— его можно оставить. - Флажок публикации доступа для клиентских приложений оставьте включённым — именно он отвечает за вход через браузер.
- Снимите флажки OData и веб-сервисов, если они не нужны: лишние точки входа незачем открывать.
- Нажмите
Опубликовать. Для Apache после этого перезапустите службу.
Способ 2. Утилитой webinst
Утилита лежит в каталоге bin платформы. Пример для клиент-серверной базы и Apache в 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
Пример для IIS в Windows:
cd "C:\Program Files\1cv8\8.3.25.1374\bin"
webinst -publish -iis -wsdir buh -dir "C:\inetpub\wwwroot\buh" -connstr "Srvr=srv1c;Ref=buh;"
Здесь -wsdir — имя в адресе, -dir — физический каталог, -connstr — строка соединения с базой. Номер версии в пути замените на свой. Для удаления публикации используется ключ -delete.
Что появляется после публикации
В каталоге публикации создаётся файл 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>
Для Apache в конфигурационный файл добавляются строка LoadModule _1cws_module с путём к модулю и блок Alias с описанием каталога. В IIS создаётся приложение с сопоставлением обработчика на wsisapi.dll.
Если сервер 1С переехал или база переименована, не перепубликовывайте всё с нуля. Достаточно поправить атрибут ib в default.vrd и перезапустить веб-сервер.
Пул приложений IIS
Проверьте пул, в котором работает публикация:
- 🔹 при 32-битной платформе на 64-битном IIS включите в дополнительных параметрах пула «Разрешить 32-разрядные приложения»;
- 🔹 удостоверение пула (по умолчанию
ApplicationPoolIdentity) должно иметь права на каталог платформы, а для файловой базы — на чтение и изменение каталога базы; - 🔹 после изменения прав перезапустите пул, а не только сайт.
Как открыть 1С в браузере на рабочем месте
Адрес для пользователя: http://имя-сервера/имя-публикации/, например http://srv-web/buh/. Его можно сохранить в закладки или ярлык.
Порядок первого входа:
- Откройте адрес в браузере. Появится окно авторизации 1С.
- Введите имя пользователя и пароль из списка пользователей базы.
- Если браузер предложит установить расширение для работы с 1С:Предприятием и файлами — согласитесь. Без него не работают загрузка и выгрузка файлов, печать в некоторых сценариях и работа с буфером обмена.
- Разрешите для адреса базы всплывающие окна. Веб-клиент открывает формы и отчёты в отдельных окнах, и блокировщик их «съедает».
Поддерживаются актуальные версии Chrome, Firefox, Edge, «Яндекс Браузера» и Safari в macOS. Точный список для вашей версии платформы смотрите в документации к ней.
Чтобы браузер открывал базу сразу на русском языке, используйте адрес с локалью: http://srv-web/buh/ru_RU/.
Где веб-клиент проигрывает тонкому клиенту:
- 📉 тяжёлые отчёты и большие списки открываются медленнее;
- 🖨️ печать идёт через диалог браузера, а не напрямую на принтер;
- 🔌 внешние компоненты и торговое оборудование работают только если поддерживают веб-клиент;
- 🧰 Конфигуратор в браузере недоступен — администрирование базы остаётся в обычном клиенте.
Доступ из интернета и защита соединения
Публикация по HTTP годится только для локальной сети. Если 1С должна открываться в браузере из дома или с телефона, переходите на HTTPS.
Что сделать
- Получите сертификат на доменное имя, например
1c.company.ru. Подойдёт бесплатный Let’s Encrypt или сертификат от удостоверяющего центра. - IIS: в привязках сайта добавьте тип
https, порт 443 и выберите сертификат. - Apache: включите
mod_ssl, пропишите пути к сертификату и ключу в виртуальном хосте для порта 443. - Настройте переадресацию с HTTP на HTTPS, чтобы пароли не уходили открытым текстом.
- Пробросьте на маршрутизаторе только порт 443 к веб-серверу.
Не открывайте наружу порты сервера 1С (1540, 1541, 1560–1591) и порт файлового доступа. Из интернета должен быть виден только веб-сервер. Сервер 1С и каталог базы остаются во внутренней сети.
Минимальные правила безопасности
- 🔐 У всех пользователей базы есть пароли, у администратора — сложный.
- 🚫 В списке пользователей нет записи без пароля с полными правами: из интернета её подберут первой.
- 🧾 Ненужные OData и веб-сервисы не опубликованы.
- 🔄 Платформа и веб-сервер обновляются, старые версии модулей удалены после перепубликации.
- 👁️ Журнал веб-сервера просматривается хотя бы раз в неделю на предмет перебора паролей.
Для входа по учётной записи Windows в базе включают аутентификацию операционной системы у пользователя, а в IIS — проверку подлинности Windows для приложения публикации. Это удобно в домене, но для доступа из интернета чаще оставляют пароль 1С поверх HTTPS.
Почему 1С не открывается в браузере
Большинство сбоев видно по коду ответа в браузере или по поведению окна входа. Выберите свой симптом.
Если ошибка не похожа ни на одну из перечисленных, откройте журнал: в IIS — журнал событий Windows и логи сайта в C:\inetpub\logs\LogFiles, в Apache — error.log. Модуль 1С пишет туда причину отказа, и по тексту её обычно видно сразу.
Перезапуск пула IIS или службы Apache обрывает сеансы всех пользователей веб-клиента. Несохранённые документы пропадут. Делайте это вне рабочего времени или предупредите людей заранее.