Работа с 1С через интернет: публикация базы и вход по ссылке
Содержание
Чтобы подключиться к веб-базе 1С, нужен адрес публикации вида http://сервер/имя_базы. Его открывают в браузере (веб-клиент) или добавляют в список баз тонкого клиента: Добавить → Добавление в список существующей информационной базы → На веб-сервере. Если адреса ещё нет, базу сначала публикуют на веб-сервере из Конфигуратора.
Типичная ситуация: бухгалтер уехал на удалёнку, VPN нет, а работать в 1С надо сегодня. Веб-публикация решает задачу без удалённого рабочего стола. Нужны три вещи: опубликованная база, правильный адрес и пользователь 1С с паролем.
Как устроен веб-доступ к базе 1С
Между пользователем и базой появляется посредник — веб-сервер (Apache или IIS). На нём установлен модуль расширения веб-сервера 1С. Модуль принимает HTTP-запросы и передаёт их платформе, а та работает с базой.
Схема выглядит так:
- 🌐 Клиент — браузер или тонкий клиент 1С (
1cv8c.exe) на компьютере пользователя. - 🖥️ Веб-сервер — Apache 2.4 или IIS с модулем 1С и файлом публикации
default.vrd. - 🗄️ База — файловая (папка с
1Cv8.1CD) или клиент-серверная на сервере 1С.
Клиенту не нужен доступ к папке базы или к портам кластера 1С (1540, 1541 и диапазон рабочих процессов). Достаточно открыть 80 или 443 порт веб-сервера. Поэтому веб-публикацию и выбирают для удалённых сотрудников и филиалов.
Веб-клиент или тонкий клиент
| Способ | Что нужно у пользователя | Когда выбирать |
|---|---|---|
| Браузер (веб-клиент) | Только поддерживаемый браузер | Разовый доступ, Mac или Linux без установки платформы, чужой компьютер |
| Тонкий клиент через веб-сервер | Установленный тонкий клиент 1С той же версии, что на сервере | Постоянная работа, печать, работа с файлами и торговым оборудованием |
Тонкий клиент работает быстрее и стабильнее браузера. Часть функций, например работа с подключаемым оборудованием и некоторыми внешними компонентами, в браузере ограничена. Для ежедневной работы бухгалтера лучше тонкий клиент, браузер — запасной вариант.
Лицензии веб-доступ не экономит. Каждый сеанс веб-клиента или тонкого клиента через веб-сервер занимает клиентскую лицензию так же, как обычный запуск.
Публикация базы 1С на веб-сервере
Публикация делается один раз на сервере. Пользователи потом только вводят адрес.
Подготовка сервера
- Установите платформу 1С на веб-сервер и в установщике отметьте компонент «Модули расширения веб-сервера». Разрядность модуля должна совпадать с разрядностью веб-сервера: 64-битный Apache работает только с 64-битной платформой.
- Поставьте веб-сервер:
- Apache 2.4 — установите как службу Windows или пакетом в Linux.
- IIS — в
Диспетчер серверов → Добавить роли и компоненты → Веб-сервер (IIS)включите компоненты «Расширения ISAPI» и «Фильтры ISAPI» из группы «Разработка приложений».
- Для IIS и 32-разрядной платформы в дополнительных параметрах пула приложений включите «Разрешить 32-разрядные приложения».
- Для файловой базы дайте учётной записи веб-сервера права на изменение папки базы. У IIS это группа
IIS_IUSRS, у Apache — пользователь, от которого запущена служба.
Публикация из Конфигуратора (Windows)
- Запустите Конфигуратор от имени администратора — без этого публикация не сможет записать файлы в каталог веб-сервера и его настройки.
- Откройте
Администрирование → Публикация на веб-сервере. - Укажите Имя — латиницей, без пробелов, например
buh. Оно станет частью адреса. - Выберите Веб-сервер (Apache 2.4 или IIS) и Каталог, куда положить файлы публикации.
- Отметьте нужное: публиковать доступ для тонкого клиента и веб-клиента, HTTP-сервисы, веб-сервисы, OData.
- Нажмите Опубликовать. Для Apache согласитесь на перезапуск службы.
Перезапуск Apache или IIS обрывает сеансы всех, кто уже работает через этот веб-сервер. На действующем сервере публикуйте вне рабочего времени.
После публикации в каталоге появится файл default.vrd. В нём записаны строка соединения с базой и параметры публикации. Для Apache в httpd.conf добавятся строки загрузки модуля wsap24 и блок Alias с вашим именем.
Публикация в Linux
В Linux Конфигуратор с Apache работает не всегда удобно, и публикацию делают утилитой webinst из каталога платформы:
sudo /opt/1cv8/x86_64/8.3.xx.xxxx/webinst -apache24 -wsdir buh \
-dir /var/www/buh -connstr "Srvr=srv1c;Ref=buh;" \
-confpath /etc/apache2/apache2.conf
sudo systemctl restart apache2
Подставьте свой номер версии платформы в путь, имя сервера 1С и имя базы в кластере. Для файловой базы строка соединения выглядит как File=/home/usr1cv8/bases/buh;.
После обновления платформы
Это шаг, который чаще всего забывают. Модуль веб-сервера подключается из каталога конкретной версии платформы. Поставили новую версию и удалили старую — Apache или IIS продолжает искать модуль по старому пути, и публикация перестаёт открываться.
Порядок после обновления:
- Установите новую версию платформы вместе с модулями расширения веб-сервера.
- Повторите публикацию из Конфигуратора новой версии с тем же именем и каталогом. Конфигуратор перезапишет путь к модулю.
- Перезапустите веб-сервер в нерабочее время.
- Обновите тонкий клиент у пользователей до той же версии.
Старую версию платформы удаляйте только после того, как убедились, что публикация работает на новой.
Адрес и строка подключения к веб-базе
Адрес публикации собирается из трёх частей: протокол, имя или IP веб-сервера, имя публикации.
http://192.168.1.10/buh
https://1c.firma.ru/buh
Подключение через браузер
Введите адрес в адресную строку. Платформа откроет веб-клиент и попросит логин и пароль пользователя 1С. Язык интерфейса можно задать в адресе: https://1c.firma.ru/buh/ru_RU/.
Разрешите сайту всплывающие окна. Веб-клиент открывает формы в отдельных окнах, и блокировщик браузера их режет.
Подключение тонким клиентом
- Запустите 1С, в окне выбора баз нажмите Добавить.
- Выберите «Добавление в список существующей информационной базы».
- Введите название для списка, например «Бухгалтерия (через интернет )».
- Тип расположения — «На веб-сервере», в поле адреса вставьте адрес публикации.
- При необходимости заполните параметры прокси и сертификатов (о них ниже) и нажмите Готово.
Строка в ibases.v8i и командная строка
Чтобы раздать подключение сотрудникам, не настраивая каждый компьютер вручную, используют файл списка баз ibases.v8i. Запись для веб-базы:
[Бухгалтерия через интернет]
Connect=ws="https://1c.firma.ru/buh";
App=ThinClient
Тот же адрес передают тонкому клиенту в ярлыке:
"C:\Program Files\1cv8\common\1cestart.exe" ENTERPRISE /WS"https://1c.firma.ru/buh"
Сравните с другими типами строки соединения, чтобы не перепутать:
| Тип базы | Строка в ibases.v8i |
|---|---|
| Файловая на диске | Connect=File="D:\Bases\Buh"; |
| На сервере 1С | Connect=Srvr="srv1c";Ref="buh"; |
| На веб-сервере | Connect=ws="https://1c.firma.ru/buh"; |
Параметры запуска, вход и HTTPS
Логин и пароль
Веб-публикация не заменяет пользователей 1С. Вход идёт по тем же учётным записям, что в Администрирование → Настройки пользователей и прав → Пользователи. Если у пользователя не задан пароль, через интернет в базу сможет войти любой, кто знает имя.
Логин и пароль можно передать прямо в адресе или в ярлыке (ключи /N и /P тонкого клиента). Делайте так только для внутренней сети: пароль окажется в истории браузера и в файлах ярлыков.
Для входа под учётной записью Windows нужна аутентификация операционной системы и в 1С, и на веб-сервере. Для IIS её включают в настройках проверки подлинности сайта. Для доступа из интернета этот вариант обычно неудобен — пользователи вне домена его не пройдут.
Почему без HTTPS выходить в интернет нельзя
По HTTP логины, пароли и данные базы идут открытым текстом. Публиковать так базу наружу недопустимо.
Порядок для HTTPS:
- Получите сертификат на доменное имя: бесплатный Let’s Encrypt или купленный.
- Настройте на веб-сервере привязку к порту 443 с этим сертификатом и перенаправление с HTTP на HTTPS.
- В адресе базы у пользователей укажите
https://. - Если сертификат самоподписанный, установите его на компьютеры пользователей в хранилище доверенных корневых центров сертификации. Иначе тонкий клиент откажется подключаться.
Что ещё ограничить
- 🔒 Публикуйте наружу только то, что нужно. HTTP-сервисы, OData и веб-сервисы снимайте с публикации, если ими никто не пользуется.
- 🔒 Ограничьте доступ к адресу по IP на межсетевом экране, если сотрудники работают из известных мест.
- 🔒 Не публикуйте под очевидным именем вроде
baseили1c— это первое, что проверяют сканеры. - 🔒 Пользователю с ролью «Полные права» задайте длинный пароль.
Ошибки при подключении к веб-базе
Большинство отказов видно по коду ответа в браузере. Начните диагностику с того, что открывается в браузере на самом веб-сервере по адресу http://localhost/buh.
Если не помогло
Посмотрите журнал ошибок веб-сервера: у Apache это error.log в каталоге logs, у IIS — журнал событий Windows и логи сайта. Сообщение там обычно точнее, чем в браузере.
Второй шаг — проверить ту же базу без веб-сервера. Если она не открывается и напрямую, проблема в самой базе или кластере, а не в публикации.
Как ускорить работу 1С через веб
Через интернет 1С работает медленнее, чем в локальной сети. Каждое открытие формы — это обмен запросами с сервером, и задержка канала важнее его ширины.
Что реально помогает:
- Тонкий клиент вместо браузера. Он кэширует метаданные и формы, поэтому повторные открытия быстрее.
- Режим низкой скорости соединения. В параметрах базы в окне запуска выберите скорость соединения «Низкая». Клиент реже обращается к серверу и уменьшает объём передаваемых данных.
- Клиент-серверный вариант вместо файловой базы. Файловую базу публиковать можно, но при нескольких одновременных пользователях начинаются блокировки и замедления. От 5–10 человек через веб стоит переходить на сервер 1С.
- Веб-сервер рядом с базой. Веб-сервер и сервер 1С ставят в одной сети: медленный участок должен быть только между пользователем и веб-сервером.
- Свежая платформа. Новые версии улучшают работу веб-клиента, поэтому держите платформу на сервере в актуальном состоянии и обновляйте публикацию после её смены.
Если тормозит только один пользователь, сначала проверьте его канал: пинг до сервера больше 100 мс заметно замедляет открытие форм независимо от настроек 1С.
Когда веб-публикация не лучший выбор
Для 20–30 одновременных пользователей с тяжёлыми отчётами и печатью иногда удобнее терминальный сервер (RDP или RemoteApp). Там клиент 1С работает рядом с базой, а по сети идёт только картинка экрана. Веб-публикация выигрывает простотой: не нужны терминальные лицензии Windows, а сотрудник подключается из браузера.