Как настроить доступ к базе 1С через Apache по статическому IP-адресу

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

Публикация базы данных 1С на веб-сервере — это стандартная задача, когда необходимо обеспечить доступ сотрудников к системе из любой точки мира. Однако наличие статического IP-адреса и установленного Apache — это лишь часть пути. Часто пользователи сталкиваются с тем, что внутри локальной сети база открывается, а «извне» — нет. Разберем подробно, как правильно настроить всю цепочку прохождения сигнала: от роутера до конфигурационных файлов 1С.

Шаг 1. Настройка прослушивания портов в Apache

Для начала проанализируем настройки самого веб-сервера. Чтобы Apache принимал запросы не только из локальной петли, но и по конкретному сетевому интерфейсу, необходимо проверить файл httpd.conf. В этом файле за сетевые подключения отвечает директива Listen. Для автоматического развертывания веб-сервера и подготовки правил брандмауэра можно использовать скрипт установки Apache HTTP Server для Windows.

Если в конфигурации указано просто Listen 80, сервер будет слушать все доступные сетевые интерфейсы на 80-м порту. Однако в некоторых случаях системные администраторы ограничивают прослушивание конкретным IP. Убедимся, что сервер готов принимать внешние соединения. После внесения изменений обязательно выполним перезапуск службы, чтобы настройки вступили в силу. В консоли это делается командой:


httpd -k restart
# или через apachectl
apachectl reload

Шаг 2. Проброс портов (Port Forwarding) на роутере

Выясним причину, по которой статический адрес «не видит» ваш компьютер. В большинстве случаев компьютер с Apache находится за роутером в локальной сети и имеет внутренний адрес (например, 192.168.1.10). Внешний статический IP-адрес принадлежит самому роутеру. Чтобы запрос из интернета попал на нужный компьютер, необходимо настроить NAT (Network Address Translation) или Port Forwarding.

Рассмотрим алгоритм настройки на роутере:

  1. Зайдем в панель управления роутером (обычно через браузер по адресу шлюза).
  2. Найдем раздел «Переадресация портов», «Виртуальные серверы» или «NAT».
  3. Создадим новое правило:
    • Внешний порт: 80 (или 443 для защищенного соединения).
    • Внутренний IP-адрес: укажем локальный адрес компьютера, на котором установлен Apache.
    • Внутренний порт: 80.
    • Протокол: TCP.

Теперь все запросы, приходящие на ваш статический IP, будут автоматически перенаправляться роутером на сервер с 1С.

Шаг 3. Настройка прав доступа в конфигурации Apache

Посмотрим на важный нюанс безопасности в современных версиях Apache (2.4 и выше). Даже если порт открыт, сервер может выдать ошибку 403 Forbidden, если в настройках директории публикации не разрешен доступ внешним клиентам. Найдем в httpd.conf блок, описывающий вашу публикацию 1С, и проверим наличие директивы Require all granted.

Пример правильной настройки доступа к каталогу:


<Directory "C:/inetpub/wwwroot/my_base">
    AllowOverride None
    Options None
    Require all granted
</Directory>

Если вместо этого указано Require local или Deny from all, внешнее подключение будет заблокировано на уровне веб-сервера.

Шаг 4. Настройка брандмауэра и антивируса

Проанализируем работу системы безопасности ОС Windows. Даже после успешного проброса портов на роутере, входящий трафик может быть «зарублен» встроенным Firewall. Нам необходимо создать правило для входящих подключений:

  1. Откроем «Брандмауэр Windows в режиме повышенной безопасности».
  2. Выберем «Правила для входящих подключений» — «Создать правило».
  3. Тип правила — «Для порта», укажем протокол TCP и порт 80 (или тот, который вы выбрали).
  4. Разрешим подключение и применим правило для всех профилей (Доменный, Частный, Публичный).

Шаг 5. Соответствие разрядности (Bitness) и модули 1С

Разберем техническую тонкость, которая часто приводит к падению веб-сервера при попытке входа. Разрядность установленного Apache должна строго соответствовать разрядности установленной платформы 1С. Если вы используете 64-битную версию 1С:Предприятие, то и Apache должен быть x64. В файле httpd.conf должна быть корректно прописана загрузка модуля расширения 1С, например:

LoadModule _1cws_module "C:/Program Files/1cv8/8.3.22.1709/bin/wsap24.dll"

Обратите внимание на путь к библиотеке wsap24.dll (для Apache 2.4). Если путь указан неверно или версия платформы обновилась, а путь остался старым, публикация не заработает.

Шаг 6. Работа с файлом публикации default.vrd

В каталоге, куда была опубликована база, лежит файл default.vrd. Это XML-конфигурация, которая управляет поведением веб-клиента и тонкого клиента. Проанализируем его содержимое. Здесь можно настроить параметры пула соединений для оптимизации нагрузки:


<point xmlns="http://v8.1c.ru/8.2/virtual-resource-system"
       base="/my_base"
       ib="Srvr="ServerName";Ref="BaseName";">
    <httpServices>
        <service name="MyService" rootUrl="mysrv" enable="true"/>
    </httpServices>
</point>

Убедимся, что у пользователя, от имени которого запущен Apache (обычно это SYSTEM), есть полные права доступа к папке, в которой находится этот файл. Для автоматизации управления веб-публикациями можно использовать утилиту для настройки и администрирования публикаций 1С.

Шаг 7. Подключение через тонкий клиент

Выясним, как правильно прописать адрес базы на удаленном компьютере. Если ваш статический IP — 1.2.3.4, а имя публикации — my_base, то в окне добавления информационной базы необходимо выбрать тип «На веб-сервере» и указать строку:

http://1.2.3.4/my_base

Если же вы настроили проброс с нестандартного порта (например, внешний порт 8080 проброшен на внутренний 80), адрес изменится на:

http://1.2.3.4:8080/my_base

Шаг 8. Вопросы безопасности и SSL

Важно понимать, что передача данных по протоколу HTTP небезопасна — пароли передаются практически в открытом виде. Рекомендуем настроить работу через HTTPS. Для этого потребуется:

  1. Получить SSL-сертификат (можно воспользоваться бесплатным Let's Encrypt).
  2. Настроить в Apache модуль mod_ssl.
  3. Изменить порт прослушивания на 443 и пробросить его на роутере.

Только после настройки шифрования работу через открытый интернет можно считать относительно безопасной. Помните также о проверке «белизны» вашего IP: если адрес начинается на 10.x.x.x или 192.168.x.x, он является «серым», и прямое подключение без VPN будет невозможно, даже если провайдер называет его статическим.

← На главную