Публикация базы 1С:Предприятие 8.3 на веб-сервере и вход из браузера
Содержание
Чтобы запустить 1С через браузер, базу нужно опубликовать на веб-сервере (IIS или Apache). Делается это в Конфигураторе: Администрирование → Публикация на веб-сервере. После публикации база открывается по адресу вида http://имя-сервера/имя-публикации, и пользователь работает в веб-клиенте без установки платформы на свой компьютер.
Частое заблуждение — что достаточно «открыть базу по ссылке». Без веб-сервера с модулем расширения 1С браузеру просто не к чему подключаться: ни файловая база в сетевой папке, ни сервер 1С сами по себе по HTTP не отвечают. Всё описанное ниже относится к платформе 1С:Предприятие 8.3 и не зависит от конфигурации: БП, ЗУП, УТ и другие публикуются одинаково.
Что нужно подготовить на сервере
Веб-клиент — это связка из трёх частей: браузер пользователя, веб-сервер с модулем 1С и сама информационная база. Модуль расширения веб-сервера принимает запросы браузера и передаёт их платформе.
Для публикации понадобятся:
- 🖥️ Компьютер для веб-сервера. Windows Server 2016 и новее или Linux. Для пары пользователей подойдёт и обычная рабочая станция.
- 🌐 Веб-сервер. На Windows — IIS (входит в систему) или Apache 2.4. На Linux — Apache 2.4.
- 🧩 Платформа 1С с компонентом «Модули расширения веб-сервера». Он ставится из обычного дистрибутива платформы. При установке выберите его в списке компонентов — по умолчанию он может быть не отмечен.
- 🗄️ Информационная база. Файловая (папка с
1Cv8.1CD) или клиент-серверная на сервере 1С. - 🔑 Лицензии. Каждое подключение через веб-клиент занимает клиентскую лицензию, как и обычный запуск.
Разрядность модуля и веб-сервера должна совпадать. Apache 64-bit работает только с 64-разрядной платформой, Apache 32-bit — только с 32-разрядной. Для IIS с 32-разрядной платформой в пуле приложений включают параметр «Разрешить 32-разрядные приложения».
Номер платформы на веб-сервере должен совпадать с номером, под которым работает база. Если сервер 1С обновили до нового релиза, а на веб-сервере осталась старая платформа, клиент-серверная база через браузер не откроется.
Как включить IIS на Windows Server
В Диспетчере серверов запустите «Добавить роли и компоненты» и выберите роль «Веб-сервер (IIS)». В составе роли обязательно отметьте:
Разработка приложений → Расширения ISAPI.Разработка приложений → Фильтры ISAPI.- Компонент CGI — он нужен не всегда, но не мешает.
- Средства управления IIS — консоль «Диспетчер служб IIS».
Без расширений ISAPI публикация пройдёт, но браузер получит ошибку 404 или 500: IIS не будет знать, как обработать запрос к 1С.
Публикация базы на веб-сервере: пошагово
Самый простой способ — мастер в Конфигураторе. Он сам создаёт папку публикации, файл default.vrd и прописывает модуль в настройках веб-сервера.
Через Конфигуратор
- Запустите 1С от имени администратора Windows (правый клик по ярлыку). Без повышенных прав мастер не сможет записать настройки IIS или
httpd.conf. - Откройте базу в режиме Конфигуратор.
- Выберите
Администрирование → Публикация на веб-сервере. - В поле «Имя» задайте короткое латинское имя публикации, например
buh. Оно станет частью адреса. - В поле «Веб-сервер» выберите IIS или нужную версию Apache.
- В поле «Каталог» укажите папку для файлов публикации, например
C:\inetpub\wwwroot\buh. Саму базу туда не копируют — там лежит толькоdefault.vrd. - Отметьте «Публиковать доступ для клиентских приложений» — это и есть веб-клиент и тонкий клиент через HTTP.
- Нажмите «Опубликовать». Для Apache после этого перезапустите службу Apache.
Перезапуск Apache или IIS обрывает текущие сеансы всех, кто уже работает через браузер. Делайте его вне рабочего времени или предупредите пользователей.
Проверка: откройте в браузере на самом сервере http://localhost/buh. Должно появиться окно выбора пользователя 1С.
Через утилиту webinst
Если Конфигуратор запустить негде (сервер без графики, Linux, автоматизация), публикуют консольной утилитой webinst. Она лежит в папке bin установленной платформы.
Пример для Apache 2.4 и клиент-серверной базы:
webinst -publish -apache24 -wsdir buh -dir "C:\Apache24\htdocs\buh" -connstr "Srvr=srv1c;Ref=buh;" -confpath "C:\Apache24\conf\httpd.conf"
Пример для IIS и файловой базы:
webinst -publish -iis -wsdir buh -dir "C:\inetpub\wwwroot\buh" -connstr "File=""D:\Bases\buh"";"
Полный список ключей выводит сама утилита при запуске без параметров. На Linux команда та же, только пути к каталогу Apache и файлу конфигурации свои.
Права на папки и вход пользователей
Это самый частый источник проблем после публикации. Веб-сервер работает от служебной учётной записи, и у неё должны быть права на нужные папки.
Права для файловой базы
Для файловой базы веб-сервер сам открывает файл 1Cv8.1CD. Дайте права на изменение каталога базы:
| Веб-сервер | Кому дать права |
|---|---|
| IIS | группе IIS_IUSRS и пользователю IUSR |
| Apache на Windows | учётной записи, от которой запущена служба Apache |
| Apache на Linux | пользователю, от которого работает Apache (обычно www-data или apache) |
Права нужны и на каталог публикации (чтение), и на каталог установки платформы (чтение и выполнение). Если база лежит в сетевой папке, служба веб-сервера должна работать от доменной учётной записи с доступом к этой папке: встроенные системные учётки к чужим общим ресурсам обычно не пускают.
Для клиент-серверной базы права на файлы не нужны: веб-сервер подключается к кластеру 1С по сети, как обычный клиент.
Варианты аутентификации
- 👤 Аутентификация 1С. Пользователь вводит логин и пароль из списка пользователей базы. Работает всегда и проще всего в настройке.
- 🏢 Аутентификация операционной системы. Пользователь входит без пароля, под своей доменной учётной записью. В карточке пользователя 1С нужно указать доменного пользователя в формате
\\ДОМЕН\логин, а на веб-сервере включить проверку подлинности Windows. - 🔒 Внешние провайдеры (OpenID и другие). Используются в крупных внедрениях, настраиваются в
default.vrd.
Не передавайте логин и пароль в адресной строке (параметры N и P). Ссылка с паролем остаётся в истории браузера и логах веб-сервера.
Если база доступна из интернета, включите HTTPS. Без шифрования пароль пользователя 1С уходит по сети открытым текстом. Сертификат ставится на уровне веб-сервера, сама 1С при этом не меняется.
Чем веб-клиент отличается от тонкого и толстого клиента
Веб-клиент — полноценный способ работы, но у него есть ограничения. Перед переводом сотрудников на браузер сверьте их с задачами.
| Признак | Веб-клиент | Тонкий клиент | Толстый клиент |
|---|---|---|---|
| Установка на компьютер | не нужна | нужна платформа | нужна платформа |
| Подключение | браузер по HTTP/HTTPS | напрямую или через веб-сервер | напрямую к базе |
| Работа с управляемыми формами | да | да | да |
| Обычные формы (старые конфигурации) | нет | нет | да |
| Работа с локальными файлами, сканером, торговым оборудованием | ограничено, нужно расширение браузера | полностью | полностью |
| Отладка и Конфигуратор | нет | нет | Конфигуратор запускается отдельно |
| Работа на macOS, Linux, планшете | да, в любом поддерживаемом браузере | есть сборки под macOS и Linux | только Windows и Linux |
Что это значит на практике:
- 📄 Старые конфигурации на обычных формах (УПП, БП 2.0, Комплексная 1.1) в браузере не работают. Нужны конфигурации на управляемых формах: БП 3.0, ЗУП 3.1, УТ 11 и аналогичные.
- 🖨️ Печать и загрузка файлов идут через браузер. Для сохранения файлов на диск и работы с ними 1С предложит установить расширение для браузера — без него часть команд будет недоступна.
- 🧾 Торговое оборудование и ККТ через веб-клиент подключить сложнее. Если кассир работает с фискальным регистратором, лучше оставить ему тонкий клиент.
Поддерживаются актуальные версии Chrome, Firefox, Edge, Safari и Яндекс Браузера. Internet Explorer современные платформы уже не поддерживают.
Ошибки при подключении через браузер и что с ними делать
Ниже — сообщения, которые чаще всего появляются при первой попытке открыть базу через браузер, и порядок проверки.
Если после изменения настроек публикации ничего не поменялось — перезапустите веб-сервер. Apache перечитывает httpd.conf только при старте. В IIS иногда достаточно перезапустить пул приложений публикации.
Перезапуск пула или службы веб-сервера завершит сеансы веб-клиента. Перед этим попросите пользователей сохранить документы.
Смотреть подробности ошибки удобнее в журналах веб-сервера: у IIS — в «Просмотре событий» и логах C:\inetpub\logs, у Apache — в файле error.log в каталоге logs.
Как ускорить работу 1С в браузере
Веб-клиент чувствительнее к сети и настройкам, чем тонкий. Что реально помогает:
- Перейдите на клиент-серверный вариант, если пользователей больше 3–5. Файловая база через веб-сервер работает однопоточно и начинает тормозить уже при нескольких одновременных подключениях.
- Ставьте веб-сервер рядом с базой. Веб-сервер и сервер 1С лучше держать в одной локальной сети или на одной машине. Медленный канал между ними дороже, чем медленный канал до пользователя.
- Включите сжатие на веб-сервере. В IIS — «Сжатие динамического содержимого», в Apache — модуль
mod_deflate. Это уменьшает объём трафика до браузера. - Используйте HTTP/2 и HTTPS. Современные браузеры по HTTP/2 загружают ресурсы веб-клиента быстрее.
- Не держите тяжёлые формы открытыми. Каждая открытая форма в веб-клиенте занимает память вкладки. Десяток открытых журналов документов заметно замедляет браузер.
- Обновите браузер и платформу. Работа веб-клиента улучшается от релиза к релизу платформы.
Для удалённых сотрудников с медленным интернетом часто удобнее тонкий клиент, подключённый к той же публикации по HTTP. Он не тратит время на загрузку интерфейса в браузер и работает с файлами без расширений. В окне добавления базы выберите вариант подключения «На веб-сервере» и укажите тот же адрес.
Нагрузка на веб-сервер
Для Apache на Windows узкое место — число потоков. В httpd.conf директива ThreadsPerChild задаёт, сколько запросов обрабатывается одновременно. При 50–100 пользователях значение по умолчанию стоит увеличить. На IIS аналогичные лимиты задаются в дополнительных параметрах пула приложений.
Отдельный веб-сервер для 1С на 20–30 пользователей обычно не требует мощного железа: 2–4 ядра и 4–8 ГБ памяти хватает с запасом, основная нагрузка всё равно ложится на сервер 1С и СУБД.
Как открыть доступ к базе из интернета
Внутри офиса достаточно адреса http://имя-сервера/buh. Чтобы пользователи заходили из дома, нужно ещё три вещи:
- 🌍 Внешний адрес. Статический IP или доменное имя, указывающее на ваш роутер.
- 🔀 Проброс порта. На роутере перенаправьте порт 443 (HTTPS) на компьютер с веб-сервером.
- 🔐 Сертификат. Подойдёт бесплатный сертификат Let’s Encrypt или купленный у удостоверяющего центра.
Безопаснее варианта два: публиковать базу только внутри сети и пускать удалённых сотрудников через VPN либо ставить веб-сервер в отдельную зону и разрешать только HTTPS. Открывать наружу порт сервера 1С (1540–1541) нельзя — для веб-клиента он и не нужен.
Частые вопросы
Можно ли запустить 1С в браузере без веб-сервера?
Нужно ли устанавливать 1С на компьютер пользователя?
Можно ли опубликовать одну базу дважды?
Работает ли Конфигуратор через браузер?
Как отменить публикацию базы?
Администрирование → Публикация на веб-сервере нажмите «Отключить». Для webinst используется ключ -delete вместо -publish.