Как правильно организовать удаленный доступ к веб-серверу 1С и перенести компоненты на хостинг?

Системный администратор 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

При настройке удаленной работы с информационной базой 1С часто возникает вопрос: можно ли вынести на внешний хостинг только веб-сервер (Apache или IIS), оставив кластер серверов 1С и базу данных на локальном компьютере? Разберем архитектурные особенности платформы 1С:Предприятие, выясним, почему такое разделение неэффективно, и рассмотрим надежные варианты предоставления доступа к локальной базе из внешней сети.

Архитектурные ограничения при разделении веб-сервера и базы данных

Проанализируем взаимодействие компонентов 1С при работе через веб-клиент или тонкий клиент по протоколам HTTP/HTTPS. Веб-сервер в связке с 1С выполняет роль шлюза: он принимает клиентский запрос и через модуль расширения (например, wsap24.dll для Apache или wsisapi.dll для IIS) взаимодействует с кластером 1С или напрямую с файловой базой.

В процессе работы генерируется интенсивный поток служебных RPC-вызовов. Для стабильной работы требуется минимальный сетевой отклик (задержка ping должна быть менее 1–2 миллисекунд) и высокая пропускная способность канала. Если разместить веб-сервер на внешнем хостинге, а базу данных оставить в локальной сети, мы неизбежно столкнемся со следующими проблемами:

  1. Критические задержки и обрывы сеансов: сетевые задержки интернет-канала между внешним веб-сервером и локальным сервером 1С приведут к постоянным таймаутам и зависаниям клиентских приложений.
  2. Риск повреждения файловой базы: если информационная база является файловой (1Cv8.1CD), попытка подключить к ней удаленный веб-сервер через сетевой ресурс (SMB/NFS) по интернету приведет к повреждению структуры базы при малейшем сбое связи.

Таким образом, действует фундаментальное правило: веб-сервер, кластер серверов 1С и база данных должны находиться в пределах одного локального сетевого контура (либо полностью на локальном сервере, либо целиком на виртуальном хостинге/VDS).

Вариант 1. Использование белого IP-адреса и проброс портов

Рассмотрим самый производительный и простой способ публикации, когда все компоненты остаются на локальном компьютере, а доступ извне настраивается через маршрутизатор.

Разберем по шагам схему подключения:

  1. Получаем у интернет-провайдера статический публичный («белый») IP-адрес для локального маршрутизатора.
  2. На маршрутизаторе настраиваем правило переадресации входящих портов (Port Forwarding): перенаправляем входящий порт 80 (HTTP) или 443 (HTTPS) на локальный IP-адрес компьютера, где запущен веб-сервер.
  3. В настройках DNS у регистратора доменных имен создаем A-запись, привязывающую ваш домен к публичному IP-адресу маршрутизатора.
  4. Если провайдер выдает динамический белый IP-адрес, настраиваем сервис Dynamic DNS (DDNS) непосредственно в роутере или на сервере, чтобы имя хоста автоматически обновлялось при смене адреса.

Вариант 2. Использование сервиса 1С:Линк

Если нет возможности получить публичный IP-адрес или провайдер использует технологию CGNAT («серый» IP), рассмотрим сервис 1С:Линк. Этот сервис создает защищенный туннель между локальным компьютером и облачным сервером авторизации 1С.

Особенности решения:

  1. Не требуется настраивать сторонние веб-серверы и сетевое оборудование.
  2. Информационная база физически остается на компьютере пользователя и не выгружается в облако.
  3. Подключение выполняется через специализированный агент «Агент 1С:Линк», который берет на себя управление безопасным туннелем и выдает доменное имя вида yourname.link.1c.ru.

Вариант 3. Защищенный VPN-туннель и промежуточный шлюз

Для обеспечения максимального уровня безопасности при работе с конфиденциальными базами данных открывать прямой доступ к портам в сеть интернет не рекомендуется. Разберем организацию защищенного канала с использованием VPN или дешевого VPS в качестве шлюза.

Посмотрим на схему с внешним реверс-прокси:

  1. Арендуется минимальный VDS на Linux с белым IP-адресом.
  2. Между локальным сервером 1С и VDS настраивается туннель (например, WireGuard или OpenVPN).
  3. На VDS устанавливается веб-сервер Nginx, который принимает входящие HTTPS-соединения от пользователей и проксирует их через VPN-интерфейс на локальный веб-сервер 1С:

server {
    listen 443 ssl;
    server_name 1c.yourdomain.ru;

    ssl_certificate /etc/letsencrypt/live/1c.yourdomain.ru/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/1c.yourdomain.ru/privkey.pem;

    location / {
        proxy_pass http://10.8.0.2:80;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

В качестве альтернативы можно использовать оверлейные сети (Mesh VPN), такие как Tailscale или ZeroTier, что позволяет безопасно объединить удаленные клиентские ПК и локальный сервер в одну приватную сеть вообще без открытия публичных портов.

Вариант 4. Использование встроенного автономного сервера 1С

Начиная с версии 8.3.14, платформа 1С:Предприятие включает утилиту автономного сервера ibsrv. Это исполняемый файл со встроенным HTTP-сервером, который избавляет от необходимости разворачивать и конфигурировать внешние веб-серверы Apache или IIS.

Автономный сервер позволяет:

  1. Запускать публикацию файловой или клиент-серверной базы одной командой.
  2. Работать как в интерактивном режиме, так и в виде системной службы (демона).
  3. Управлять списком баз и настройками через конфигурационный файл формата JSON/YAML.

Рекомендации по безопасности при публикации информационной базы

При выводе веб-сервера во внешнюю сеть необходимо минимизировать риски несанкционированного доступа. Разберем ключевые параметры файла конфигурации публикации default.vrd.

Проанализируем файл default.vrd и отключим неиспользуемые протоколы (OData, Web-сервисы, HTTP-сервисы), если они не требуются клиентам для работы:


<?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="/base_name"
       ib="File=&quot;C:\Bases\Trade&quot;;"
       enableStandardOData="false">
    <ws enable="false"/>
    <httpServices enable="false"/>
</point>

Важные правила безопасной эксплуатации:

  1. Обязательное использование HTTPS: трафик между клиентом и веб-сервером должен быть зашифрован с использованием SSL/TLS-сертификатов (например, Let's Encrypt), чтобы исключить перехват учетных данных.
  2. Дополнительная HTTP-аутентификация: настройка базовой авторизации на уровне веб-сервера (Basic Auth в Apache/Nginx) перед передачей управления модулю 1С защищает форму входа 1С от автоматизированного сканирования и подбора паролей.
  3. Политика паролей: все пользователи базы 1С должны иметь сложные пароли. Пользователи с пустыми паролями должны быть исключены.
  4. Ограничение числа подключений: при использовании настольных версий Windows (например, Windows 10/11) учитывайте встроенные лимиты ОС на число одновременных сетевых сессий; для многопользовательской работы рекомендуется использовать серверные операционные системы.
← На главную