Веб-доступ к базе 1С 8.3 через интернет: от выбора сервера до HTTPS
Содержание
Чтобы сделать web-сервер 1С, нужны три вещи: веб-сервер (IIS или Apache 2.4), компонент платформы «Модули расширения веб-сервера» той же версии, что и сервер 1С, и публикация базы из Конфигуратора через Администрирование → Публикация на веб-сервере. После этого база открывается в браузере по адресу вида https://1c.firma.ru/buh, а тонкий клиент подключается к ней через интернет без VPN.
Типичная ситуация: главбух уходит на удалёнку, бухгалтер филиала сидит в другом городе, а RDP-сервера нет. Веб-публикация решает задачу за час, если заранее знать, где спрятаны три ловушки: разрядность модуля, права на папки и лицензии.
Что выбрать для веб-сервера 1С: IIS или Apache
Платформа 1С 8.3 работает с двумя веб-серверами под Windows и с Apache под Linux. Выбор зависит от того, какая ОС стоит и кто будет администрировать.
| Критерий | IIS (Windows Server) | Apache 2.4 |
|---|---|---|
| Где работает | Только Windows | Windows и Linux |
| Установка | Роль сервера, ставится мастером | Архив с Apache Lounge или пакет в Linux |
| Модуль 1С | wsisapi.dll | wsap24.dll (Windows), libwsap24.so (Linux) |
| Настройка | Через диспетчер IIS | Правкой httpd.conf |
| HTTPS | Привязка сертификата в диспетчере | mod_ssl и секция VirtualHost |
| Кому подходит | Администратору Windows без опыта с конфигами | Тем, кто привык к текстовым настройкам и Linux |
Публиковать базу проще на той же машине, где стоит сервер 1С. Но если база смотрит в интернет, лучше вынести веб-сервер на отдельную виртуальную машину: тогда наружу открыт только он, а сервер 1С и СУБД остаются во внутренней сети.
Что нужно подготовить до начала:
- 🖥️ сервер с Windows Server 2016 и новее или Linux;
- 📦 дистрибутив платформы 8.3 той же сборки, что и сервер 1С (например, 8.3.24.1467 и там и там);
- 🔑 права локального администратора: Конфигуратор для публикации запускают «от имени администратора»;
- 🌐 белый IP-адрес или доменное имя и доступ к пробросу портов на роутере;
- 🎫 свободные клиентские лицензии: каждый сеанс через браузер или тонкий клиент по HTTP занимает клиентскую лицензию так же, как обычный вход.
Версия модуля веб-сервера должна совпадать с версией сервера 1С до последней цифры сборки. При расхождении база не откроется, а после обновления платформы публикацию придётся перенастроить.
Как сделать web-сервер 1С на Apache 2.4
Apache удобен тем, что вся настройка лежит в одном текстовом файле. Порядок для Windows.
Шаг 1. Установите Apache
- Скачайте сборку Apache 2.4 с сайта Apache Lounge. Разрядность должна совпадать с разрядностью платформы 1С: для 64-битной платформы — Win64.
- Распакуйте архив в
C:\Apache24. - Установите Visual C++ Redistributable, если его нет: без него
httpd.exeне стартует. - В командной строке от администратора выполните:
cd C:\Apache24\bin
httpd.exe -k install
httpd.exe -k start
- Откройте в браузере на сервере
http://localhost. Должна появиться страница «It works!».
Шаг 2. Установите модули расширения веб-сервера
Запустите установку платформы 1С и в списке компонентов включите «Модули расширения веб-сервера». Если платформа уже стоит, запустите установку повторно и выберите изменение набора компонентов.
После этого в C:\Program Files\1cv8\8.3.x.xxxx\bin\ появятся wsap24.dll и утилита webinst.exe.
Шаг 3. Опубликуйте базу
- Запустите Конфигуратор от имени администратора и откройте нужную базу.
- Меню
Администрирование → Публикация на веб-сервере. - Укажите имя публикации латиницей, например
buh. Оно станет частью адреса. - Выберите веб-сервер Apache 2.4 и каталог, например
C:\Apache24\htdocs\buh. - Отметьте, что публикуются тонкий клиент и веб-клиент. Веб-сервисы и HTTP-сервисы отмечайте, только если они нужны (обмен с сайтом, мобильное приложение).
- Нажмите «Опубликовать» и согласитесь на перезапуск веб-сервера.
Конфигуратор сам допишет в httpd.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>
Публикация из командной строки: webinst
На сервере без графики или при массовой публикации удобнее утилита webinst.exe. Для клиент-серверной базы:
cd "C:\Program Files\1cv8\8.3.24.1467\bin"
webinst.exe -publish -apache24 -wsdir buh -dir "C:\Apache24\htdocs\buh" -connstr "Srvr=srv1c;Ref=buh;" -confpath "C:\Apache24\conf\httpd.conf"
Для файловой базы строка соединения другая: -connstr "File=""D:\Base\Buh"";". Удалить публикацию можно ключом -delete с тем же -wsdir.
Особенности для Linux
На Ubuntu или Debian ставят пакеты платформы (в том числе пакет модулей веб-сервера) и Apache из репозитория. Модуль называется libwsap24.so и лежит в каталоге платформы, обычно /opt/1cv8/x86_64/8.3.x.xxxx/. Публикацию делают тем же webinst с ключом -apache24, путь к конфигу — /etc/apache2/apache2.conf. После публикации перезапустите службу: systemctl restart apache2.
Публикация базы 1С на IIS
Шаг 1. Включите роль IIS
В «Диспетчере серверов» запустите мастер добавления ролей и компонентов. Отметьте роль «Веб-сервер (IIS)», а внутри неё в группе разработки приложений обязательно:
- ✅ Расширения ISAPI;
- ✅ Фильтры ISAPI.
Без этих двух компонентов публикация пройдёт без ошибок, но браузер получит 404 или пустую страницу. На Windows 10/11 то же самое включается через «Компоненты Windows».
Шаг 2. Опубликуйте базу
Как и для Apache: Конфигуратор от администратора → Администрирование → Публикация на веб-сервере, веб-сервер — Internet Information Services, каталог — например C:\inetpub\wwwroot\buh.
Аналог через командную строку:
webinst.exe -publish -iis -wsdir buh -dir "C:\inetpub\wwwroot\buh" -connstr "Srvr=srv1c;Ref=buh;"
Шаг 3. Проверьте пул и права
Это место, где ломается большинство публикаций на IIS:
- Разрядность. Если стоит 32-битная платформа, в дополнительных параметрах пула приложений включите «Разрешить 32-разрядные приложения». Для 64-битной платформы параметр должен быть выключен.
- Каталог платформы. Группе
IIS_IUSRSдайте права «Чтение и выполнение» на папкуbinплатформы. - Каталог публикации. Той же группе — чтение на
C:\inetpub\wwwroot\buh. - Файловая база. Если база файловая, учётной записи пула (или
IIS_IUSRS) нужны права на изменение папки с базой. Без них 1С не создаст файл блокировки и выдаст ошибку доступа.
Не давайте полный доступ группе «Все» «для проверки». Такой временный обход обычно остаётся навсегда и открывает папку с базой любому процессу на сервере.
Защита веб-доступа: HTTPS, пароли и порты
База на голом HTTP передаёт логины и данные открытым текстом. Для публикации в интернет HTTPS обязателен.
Сертификат
- 🔐 Бесплатный сертификат Let’s Encrypt: на Linux его выпускает
certbot, на Windows — клиент win-acme, который умеет сам привязать сертификат к сайту IIS. - 🏢 Коммерческий сертификат: нужен, если клиентам важно имя организации в сертификате.
- ❌ Самоподписанный подойдёт только для теста: тонкий клиент и браузеры будут ругаться.
IIS. В диспетчере выберите сайт → «Привязки» → добавьте тип https, порт 443 и сертификат.
Apache. Раскомментируйте LoadModule ssl_module modules/mod_ssl.so и добавьте секцию:
Listen 443
<VirtualHost *:443>
ServerName 1c.firma.ru
SSLEngine on
SSLCertificateFile "C:/Apache24/conf/ssl/cert.pem"
SSLCertificateKeyFile "C:/Apache24/conf/ssl/privkey.pem"
SSLCertificateChainFile "C:/Apache24/conf/ssl/chain.pem"
</VirtualHost>
С HTTP на порт 80 настройте перенаправление на HTTPS, чтобы пользователи не заходили по старой ссылке.
Что открыть наружу, а что нет
| Порт | Назначение | Открывать в интернет |
|---|---|---|
| 443 | HTTPS веб-сервера | Да |
| 80 | Только для редиректа и выпуска Let’s Encrypt | По необходимости |
| 1540, 1541 | Агент и менеджер кластера 1С | Нет |
| Диапазон рабочих процессов (по умолчанию 1560–1591) | Рабочие процессы 1С | Нет |
| 1433 / 5432 | MS SQL / PostgreSQL | Нет |
Пользователи
- 👤 У каждого пользователя базы должен быть пароль. Пользователь без пароля через интернет — открытая дверь.
- 🚫 Не вписывайте логин и пароль в строку соединения публикации: тогда в базу пустят любого, кто знает адрес.
- 🧭 Если доступ нужен из пары офисов, ограничьте его по IP: в Apache директивой
Require ip, в IIS — компонентом «Ограничения IP-адресов и доменов».
Отдельный адрес вида 1c.firma.ru и нестандартное имя публикации не заменяют пароли, но заметно снижают количество ботов, которые перебирают типовые пути.
Какой веб-сервер для 1С быстрее
На практике скорость работы через браузер определяют не IIS или Apache, а сервер 1С, СУБД и канал пользователя. Веб-сервер лишь передаёт вызовы между клиентом и кластером.
Что действительно влияет:
- 🗄️ Режим базы. Файловую базу через веб опубликовать можно, но при 5–10 одновременных пользователях она начинает тормозить и блокироваться. Для удалённой работы нескольких человек нужна клиент-серверная база .
- 🧵 Где стоит веб-сервер. Модуль 1С держит соединение с кластером. Если веб-сервер и сервер 1С в разных дата-центрах, каждая операция получает лишнюю сетевую задержку.
- 🔄 Перезапуски пула IIS. По умолчанию IIS перезапускает пул приложений по таймеру. Если это случается в рабочее время, у пользователей обрываются сеансы. Перенесите плановую переработку пула на ночь.
- 🧠 Память. Процесс веб-сервера с модулем 1С при 20–30 сеансах занимает заметный объём памяти. Если на той же машине крутится сервер 1С и СУБД, планируйте запас.
Итог для выбора: на Windows-сервере берите IIS, если не хотите править конфиги; Apache — если нужна одинаковая схема на Windows и Linux. Разница в скорости между ними на типовой нагрузке бухгалтерии незаметна.
Ошибки при подключении к опубликованной базе
httpd.conf прописан путь к старой версии платформы, которую удалили, либо Apache 32-битный, а модуль 64-битный. Исправьте путь в строке LoadModule и проверьте разрядность.bin платформы. Выдайте «Чтение и выполнение» группе IIS_IUSRS (IIS) или проверьте Require all granted в блоке публикации (Apache).Перезапуск службы веб-сервера или пула IIS обрывает все веб-сеансы пользователей, несохранённые документы пропадут. Делайте это вне рабочего времени или после предупреждения.
Как ускорить и упростить работу через веб-клиент
Веб-клиент в браузере — самый удобный, но не самый быстрый вариант. Несколько приёмов, которые реально помогают.
Тонкий клиент вместо браузера
Тот же адрес публикации можно подключить в тонком клиенте: в списке баз нажмите «Добавить», выберите вариант подключения на веб-сервере и вставьте https://1c.firma.ru/buh. Тонкий клиент работает быстрее браузера, лучше печатает и не зависит от обновлений браузера. Веб-клиент оставьте для тех, кто заходит с чужих компьютеров или с macOS без установленной платформы.
Настройки браузера
- 🌍 Используйте актуальный Chrome, Edge, Firefox или Safari. Устаревшие версии браузеров платформа может не поддерживать.
- 🪟 Разрешите всплывающие окна для адреса базы, иначе часть форм и печать не откроются.
- 🧩 Для работы с файлами и криптографией установите расширение для работы с 1С:Предприятием, браузер предложит его сам при первой операции с файлом.
- 🔕 Отключите блокировщики рекламы для этого адреса: они иногда режут служебные запросы.
На стороне сервера
- 📉 Опубликуйте только то, что нужно: лишние веб-сервисы и HTTP-сервисы — лишняя поверхность для атак без пользы.
- 🧹 Следите за «зависшими» сеансами в консоли кластера: после обрыва связи сеанс может держать лицензию до истечения таймаута.
- 🔁 После каждого обновления платформы проверьте строку
LoadModuleв Apache или обработчик в IIS: старые пути — частая причина «вчера работало».
Если веб-публикация не подходит
Веб-клиент закрывает не все сценарии. Альтернативы:
- 🖥️ RDP или RemoteApp. Пользователь работает в обычном толстом или тонком клиенте на терминальном сервере. Подходит для тяжёлых обработок, торгового оборудования и внешних компонент, которые не работают в браузере.
- 🔒 VPN до офиса. Сотрудник подключается к сети и работает так, будто сидит в офисе. Веб-сервер не нужен, но на каждом устройстве нужен клиент VPN.
- ☁️ Аренда 1С в облаке. Провайдер берёт на себя сервер, обновления и резервные копии. Удобно, если в штате нет администратора.
Частые вопросы
Нужна ли отдельная лицензия на веб-сервер?
Можно ли опубликовать файловую базу?
Работает ли веб-клиент на телефоне?
Можно ли повесить несколько баз на один веб-сервер?
/buh, /zup, /ut. Все они работают на одном адресе и одном сертификате.