Почему смартфон не видит веб-сервис Apache на компьютере и как настроить подключение для 1С?

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

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

Проверка базовой сетевой связности

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

  1. Общая подсеть: Убедимся, что компьютер с Apache и смартфон подключены к одной и той же Wi-Fi сети. Это критически важно, так как по умолчанию устройства из разных подсетей не «видят» друг друга без специальной настройки маршрутизации.
  2. Использование IP-адреса вместо Localhost: Разберем типичную ошибку новичков. Обращение по адресу localhost или 127.0.0.1 работает только внутри самого компьютера. Смартфон — это отдельное устройство, поэтому в настройках мобильной платформы 1С мы должны указывать реальный IP-адрес компьютера в локальной сети (например, http://192.168.1.5/MyMobileApp).
  3. Тип сетевого профиля Windows: Выясним, как настроена сеть в операционной системе. Если профиль сети установлен как «Общедоступная», Windows блокирует практически все входящие соединения. Нам необходимо переключить профиль на «Частная сеть» в настройках сети и интернета.

Настройка веб-сервера Apache (httpd.conf)

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

Найдем директиву Listen. Если вы видите строку:

Listen 127.0.0.1:80

Это означает, что сервер принимает запросы только от самого себя. Чтобы Apache стал доступен для смартфона, изменим эту строку, разрешив прослушивание всех сетевых интерфейсов:

Listen 0.0.0.0:80

Также проверим права доступа в блоке <Directory>. Для корректной работы мобильного приложения 1С доступ должен быть разрешен для внешних устройств. Проверим наличие следующей записи:


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

Если вместо Require all granted указано Require local, смартфон получит ошибку доступа при попытке подключения.

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

Рассмотрим ситуацию, когда сеть настроена верно, но порт закрыт защитными системами. По умолчанию 80-й порт (HTTP) может быть заблокирован брандмауэром Windows. Выполним следующие действия:

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

Важно помнить, что сторонние антивирусы (например, Kaspersky или ESET) имеют собственные сетевые экраны. Попробуем временно отключить антивирус, чтобы убедиться, что проблема не в нем. Если связь появится — необходимо добавить Apache в исключения антивируса.

Изоляция клиентов в настройках роутера

Проанализируем настройки Wi-Fi роутера. В некоторых современных моделях включена функция AP Isolation (изоляция точки доступа). Эта функция предназначена для безопасности (например, в гостевых сетях кафе), чтобы пользователи не могли получить доступ к устройствам друг друга. В нашем случае она мешает смартфону увидеть компьютер. Проверим настройки беспроводного режима в интерфейсе роутера и убедимся, что изоляция отключена.

Подключение через USB-кабель (Reverse Port Forwarding)

Если Wi-Fi соединение по каким-то причинам настроить не удается или сеть нестабильна, разберем альтернативный вариант — подключение через USB-кабель с использованием инструментов разработчика Android (ADB). Это позволит «пробросить» порт компьютера на смартфон.

Выполним пошагово:

  1. Включим на смартфоне режим «Отладка по USB».
  2. Подключим смартфон к компьютеру кабелем.
  3. В командной строке на компьютере (при установленном Android SDK) введем команду:

adb reverse tcp:80 tcp:80

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

Проверка публикации 1С (файл default.vrd)

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

Для диагностики со стороны смартфона можно использовать любое приложение-сканер портов. Если при сканировании IP-адреса компьютера порт 80 отображается как Closed, значит, проблема в брандмауэре или настройках Listen в Apache. Если порт Open, но база 1С не открывается, следует перепроверить корректность публикации в самой 1С и права доступа к папке с базой.

← На главную