Публикация базы 1С на веб-сервере — это стандартная задача, позволяющая пользователям работать через браузер или тонкий клиент из любой точки мира. Однако при настройке доступа через интернет системные администраторы часто сталкиваются с тем, что стандартные правила проброса портов не работают или создают угрозы безопасности — для контроля доступа есть инструменты администрирования кластеров и управления сеансами. Разберем по шагам, как правильно настроить веб-сервер IIS, организовать проброс портов с подменой и обеспечить защиту передаваемых данных.
По умолчанию веб-сервер IIS (Internet Information Services) слушает порт 80 (HTTP), однако альтернативой может выступать установщик Apache HTTP Server для Windows. Если вы хотите использовать нестандартный порт внутри вашей локальной сети, нам необходимо изменить привязки (bindings) сайта. Рассмотрим, как это сделать:
Default Web Site).http и нажмем Изменить.8088). Проанализируем ситуацию: важно, чтобы выбранный порт не был занят другими службами. Проверить это можно командой netstat -a в командной строке.Теперь внутри локальной сети 1С будет доступна по адресу вида http://имя_сервера:8088/имя_базы. Однако, как показывает практика, менять внутренний порт IIS не всегда обязательно, если вы используете механизм трансляции портов на роутере.
Частая ошибка при настройке доступа извне заключается в непонимании порядка обработки пакетов роутером. Разберем ситуацию: вы хотите, чтобы снаружи пользователи обращались на порт 8088, а роутер перенаправлял их на сервер 1С на порт 80.
Проанализируем классическую последовательность работы сетевого оборудования:
8088 на 80.Важный момент: если ваш роутер работает по такой схеме, то в правилах Firewall (разрешающих прохождение трафика) нужно указывать уже целевой порт (в нашем примере — 80), а не исходный внешний порт. Именно в этом часто кроется причина того, что соединение не устанавливается: порт 8088 проброшен, но межсетевой экран блокирует обращение к порту 80, так как он «закрыт» в правилах фильтрации.
Выставлять 1С в интернет по протоколу HTTP (порт 80) — крайне небезопасная затея. В этом случае логины и пароли пользователей передаются в открытом виде, и их легко перехватить. Рассмотрим, что дает переход на HTTPS:
Многие опасаются, что HTTPS создаст высокую нагрузку на сервер. Однако современные процессоры поддерживают аппаратное ускорение шифрования (AES-NI), и разница в производительности для 1С будет практически незаметна даже на бюджетном оборудовании.
Для работы HTTPS необходим сертификат. Чтобы не покупать его, воспользуемся бесплатным центром сертификации Let's Encrypt. Для автоматизации процесса на IIS рекомендуем использовать утилиту Win-ACME или Certify The Web.
Процесс выглядит следующим образом:
https (порт 443) в настройки IIS.После этого рекомендуется настроить в IIS автоматический редирект с порта 80 на 443, чтобы пользователи всегда работали по защищенному каналу.
Чтобы работа через веб-интерфейс была стабильной, недостаточно просто открыть доступ. Выясним, какие настройки «Пула приложений» (Application Pool) в IIS помогут избежать проблем:
1. Настройка времени простоя: По умолчанию IIS завершает рабочий процесс приложения, если к нему никто не обращался 20 минут. Это приводит к тому, что первый пользователь утром долго ждет загрузки базы. Установите параметр Idle Time-out (minutes) в значение 0.
2. Режим запуска: В настройках пула установите Start Mode в значение AlwaysRunning. Это заставит IIS всегда держать приложение готовым к работе.
3. Управление памятью: Если на сервере мало оперативной памяти, можно ограничить максимальный объем памяти для пула, чтобы IIS перезапускал процесс при достижении лимита, предотвращая «зависание» всей системы.
При использовании нестандартных портов или сложных схем проброса обратите внимание на файл default.vrd. Это XML-файл конфигурации публикации 1С — на базе этой технологии работает модуль организации обмена данными через веб-сервисы. В нем описываются параметры подключения к базе данных. Посмотрим на пример структуры этого файла:
<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="/BaseName"
ib="Srvr="Server1C";Ref="BaseName";">
<standardOdata enable="true" reuseSessions="autouse" sessionMaxAge="20" />
</point>
Если вы используете обратный прокси-сервер (Reverse Proxy), вам может потребоваться добавить параметры headers, чтобы 1С правильно определяла IP-адреса клиентов и протокол обращения.
Если безопасность является приоритетом, а количество пользователей ограничено, проанализируем вариант с VPN — для таких сетей есть панель централизованного администрирования баз и касс. Вместо того чтобы открывать порты IIS всему интернету, вы можете поднять VPN-сервер (например, WireGuard или L2TP) на вашем роутере или отдельном сервере.
В этом случае:
Это решение полностью закрывает порты веб-сервера от внешних атак, сканирования ботами и попыток подбора пароля к 1С.
Если вы настроили проброс портов и Firewall, но доступа извне все равно нет, проверьте ваш внешний IP-адрес через MyIP сервис. Если провайдер выдает адрес из диапазона 100.64.x.x — 100.127.x.x, значит вы находитесь за CGNAT. В этом случае прямой проброс портов работать не будет. Решением будет либо покупка услуги «Статический IP», либо использование облачных туннелей (Cloudflare Tunnel, Ngrok) для публикации локального ресурса в интернет.