Почему не запускается база 1С через Apache на втором компьютере и как это исправить

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

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

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

Прежде чем приступать к правке конфигурационных файлов, нам необходимо убедиться, что компьютеры вообще «видят» друг друга в сети. Проанализируем стандартную ситуацию: компьютер-сервер имеет IP-адрес 192.168.1.77, а клиентский компьютер — 192.168.1.41. Воспользуемся стандартными средствами командной строки.

Рассмотрим выполнение команды ping с клиентского ПК. Если пакеты проходят, это означает, что физическое соединение есть и протокол ICMP разрешен. Однако успешный пинг не гарантирует работу веб-сервисов. Выясним, открыт ли конкретный порт, который использует Apache (например, 80 или 8081). Для этого на клиентском компьютере под управлением Windows 10/11 лучше всего запустить PowerShell и выполнить команду:

Test-NetConnection -ComputerName 192.168.1.77 -Port 8081

Если в поле TcpTestSucceeded вы видите False, значит, запрос блокируется либо на стороне сервера, либо сетевым оборудованием. Если True, но база все равно не открывается, проблема кроется в настройках самого 1С или Apache.

Настройка профиля сети и брандмауэра Windows

Часто пользователи отключают брандмауэр, но это не всегда помогает, так как службы фильтрации трафика продолжают работать в фоновом режиме. Разберем важный нюанс: тип сетевого профиля. В Windows 10/11 сеть может быть «Общедоступной» или «Частной».

  1. Проверим настройки сети: на обоих компьютерах должен быть установлен профиль «Частная сеть». В «Общедоступных» сетях Windows по умолчанию блокирует практически все входящие подключения, даже если вы добавили исключения для программ.
  2. Вместо полного отключения защиты, настроим правила для порта. Нужно создать входящее правило для TCP-порта (например, 8081), разрешающее подключения для всех профилей.
  3. Добавления только исполняемого файла httpd.exe в исключения иногда недостаточно, если порт занят другой службой или специфическими фильтрами системы.

Корректировка конфигурации Apache (httpd.conf)

Проанализируем файл httpd.conf, который находится в папке conf вашего установленного Apache. Ошибки в директивах этого файла — самая частая причина отсутствия доступа извне.

Во-первых, найдем директиву Listen. Рассмотрим два варианта:

  1. Listen 127.0.0.1:80 — в такой конфигурации сервер будет отвечать только на запросы самого себя.
  2. Listen 80 или Listen 0.0.0.0:80 — это правильный вариант, позволяющий Apache «слушать» все сетевые интерфейсы сервера.

Во-вторых, обратим внимание на блок разрешений Directory. Для Apache версии 2.4 и выше правила доступа изменились. Найдем секцию, описывающую путь к публикации 1С, и убедимся, что там прописано:


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

Если вместо Require all granted указано Require local, доступ с любого другого IP-адреса, кроме 127.0.0.1, будет запрещен (ошибка 403 Forbidden).

Проверка прав доступа к файлам и папкам

Многие забывают, что служба Apache запускается от имени системного пользователя (обычно LocalSystem или NetworkService). Проанализируем права доступа к каталогам:

  1. Папка с публикацией, где лежит файл default.vrd.
  2. Папка с самой информационной базой (если используется файловый вариант 1С).

Необходимо убедиться, что у пользователя, от которого работает служба веб-сервера, есть права «Чтение», «Запись» и «Изменение» на эти каталоги. Без этого при обращении по сети сервер не сможет инициализировать соединение с базой данных.

Специфические настройки 1С и файла .vrd

Файл default.vrd — это «паспорт» вашей публикации. Разберем типичную ошибку: если при публикации базы через конфигуратор вы указали путь к базе как localhost или использовали относительный путь, который корректен только локально, внешние клиенты могут испытывать трудности. Посмотрим на пример правильного описания соединения внутри файла .vrd:


<point xmlns="http://v8.1c.ru/8.2/virtual-resource-system"
       base="/base_name"
       ib="File="C:\Bases\Trade";"/>

Важно, чтобы путь в параметре ib был доступен самому серверу Apache. Если база находится на другом сетевом ресурсе, путь должен быть в формате UNC (например, \\ServerName\Share\Base), а служба Apache должна быть запущена от имени пользователя, имеющего доступ к этому сетевому ресурсу.

Проблемы разрядности и модулей расширения

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

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

Если путь ведет в Program Files (x86), а Apache при этом 64-битный (или наоборот), сервер не сможет корректно обработать запросы 1С, что приведет к ошибкам при попытке входа с любого устройства.

Влияние прокси-серверов и IPv6

Рассмотрим ситуацию на клиентском компьютере. Иногда в настройках браузера или системы прописан прокси-сервер. В этом случае запрос к локальному IP 192.168.1.77 уходит на внешний прокси, который «не знает» о вашей внутренней сети. Рекомендуется добавить локальные адреса в исключения прокси-сервера.

Также стоит проверить приоритет протоколов. Иногда Windows пытается использовать IPv6 для обращения по имени компьютера. Попробуйте в строке браузера вместо http://ServerName/base ввести прямой IPv4 адрес: http://192.168.1.77/base. Это исключит проблемы с разрешением имен (DNS/WINS).

Итоговый алгоритм действий

Подведем итог и составим четкий план действий для решения проблемы:

  1. Проверяем связь командой ping и доступность порта через Test-NetConnection.
  2. Устанавливаем тип сети «Частная» на сервере и клиенте.
  3. Проверяем в httpd.conf директивы Listen (должна быть 0.0.0.0 или просто порт) и Require all granted.
  4. Убеждаемся, что разрядность Apache совпадает с разрядностью установленных «Модулей расширения веб-сервера» 1С.
  5. Проверяем права доступа системной службы к папке базы и папке публикации.
  6. Перезапускаем службу Apache после любых изменений в конфигурационных файлах.

Следуя этим шагам, мы сможем последовательно исключить все возможные преграды — от сетевых блокировок до ошибок в конфигурации программного обеспечения — и обеспечить стабильный доступ к базе 1С для всех пользователей сети.

← На главную