Почему мобильное приложение 1С выдает ошибку 404 при подключении к IIS и как это исправить

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

Развертывание мобильных решений на платформе 1С:Предприятие часто сопровождается трудностями при публикации информационной базы на веб-сервере IIS (Internet Information Services). Типичная ситуация: вы успешно опубликовали мобильное приложение, проверили ссылку в браузере мобильного устройства — XML-описание конфигурации открывается без проблем. Однако при попытке добавить эту же базу в список мобильного приложения 1С возникает ошибка: «Ресурс не найден (404)». Рассмотрим подробнее, почему это происходит и как настроить сервер для корректной работы мобильного клиента.

Проверка корректности MIME-типов в IIS

Одной из самых распространенных причин ошибки 404 является то, что сервер IIS по умолчанию не знает, как обрабатывать специфические расширения файлов 1С. Когда мобильное приложение обращается к серверу, оно запрашивает не только основную страницу, но и файлы конфигурации. Если расширение файла не зарегистрировано в списке MIME-типов, сервер заблокирует запрос из соображений безопасности.

Разберем по шагам, какие типы необходимо добавить в консоли управления IIS:

  1. Откроем Диспетчер служб IIS.
  2. Выберем наш сервер или конкретный виртуальный каталог с публикацией.
  3. Перейдем в раздел «MIME-типы» (MIME Types).
  4. Проверим наличие и, если отсутствуют, добавим следующие расширения:
    • .1ccfg — значение application/octet-stream
    • .apk — значение application/vnd.android.package-archive (необходимо для обновления мобильного приложения)
    • .xml — значение text/xml

После внесения изменений обязательно выполним перезапуск IIS командой iisreset в командной строке.

Устранение проблем с регистром символов в URL

Проанализируем особенность работы мобильной платформы 1С. В отличие от настольных браузеров, которые часто игнорируют регистр букв в адресе, мобильный клиент (особенно под управлением Android) крайне чувствителен к написанию пути. Если в IIS ваш виртуальный каталог называется MobileBase, а в настройках подключения на смартфоне вы написали mobilebase, вы гарантированно получите ошибку 404.

Рекомендация: Всегда используйте только нижний регистр при именовании публикаций 1С и при прописывании пути на мобильном устройстве. Это исключит вероятность ошибки из-за разницы в интерпретации строк сервером и клиентом.

Настройка типов аутентификации

Часто ошибка 404 является маской для проблем с авторизацией. Если на сервере включена только «Проверка подлинности Windows» (Windows Authentication), мобильное устройство может не суметь корректно передать учетные данные через протоколы NTLM/Kerberos. В результате сервер отклоняет запрос, что мобильная платформа интерпретирует как отсутствие ресурса.

Выясним правильную конфигурацию прав доступа:

Анализ файла публикации .vrd

Посмотрим на структуру файла default.vrd, который находится в физическом каталоге вашей публикации на сервере. Этот файл является «дорожной картой» для веб-сервера. Если вы публикуете мобильное приложение через Конфигуратор (Администрирование -> Публикация на веб-сервере), убедитесь, что на вкладке «Мобильное приложение» установлены соответствующие флажки.

Проанализируем пример корректного содержимого секции мобильного приложения в default.vrd:


<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="/MobileApp"
       ib="Srvr=&quot;ServerName&quot;;Ref=&quot;BaseName&quot;;">
    <mobileApplication publishRoot="TRUE" />
</point>

Важно, чтобы атрибут publishRoot="TRUE" присутствовал. Если вы перепубликовывали базу несколько раз, эта секция могла быть повреждена или дублирована, что также приводит к ошибке 404.

Конфликты разрядности пула приложений

Рассмотрим ситуацию, когда на сервере установлена 64-битная версия 1С, а публикация выполняется через 32-битные модули расширения (или наоборот). Для корректной работы необходимо сопоставить разрядность wsap64.dll и настройки пула приложений в IIS.

  1. В Диспетчере IIS перейдем в «Пулы приложений».
  2. Найдем пул, который использует наша публикация (обычно это DefaultAppPool или пул с именем публикации).
  3. Зайдем в «Дополнительные параметры».
  4. Если используется 64-разрядный модуль расширения 1С, параметр «Разрешить 32-разрядные приложения» должен быть установлен в False.

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

Особенности работы через HTTPS и самоподписанные сертификаты

Если ваша публикация использует протокол HTTPS с самоподписанным сертификатом, вы можете столкнуться с тем, что браузер на телефоне позволяет «проигнорировать» предупреждение о безопасности, а мобильное приложение 1С — нет. При попытке защищенного соединения происходит разрыв на этапе SSL-handshake, и клиент выдает 404.

Чтобы исключить эту проблему, попробуйте временно настроить публикацию по протоколу HTTP. Если ошибка исчезнет, значит, проблема в сертификате. Для полноценной работы по HTTPS необходимо добавить ваш корневой сертификат в хранилище доверенных сертификатов на самом мобильном устройстве (в настройках безопасности Android или iOS).

Очистка данных и кэша мобильного приложения

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

Также стоит проверить, не создана ли в этом же виртуальном каталоге публикация веб-клиента. Иногда они могут конфликтовать за обработку корневого URL. Попробуйте создать отдельный виртуальный каталог исключительно для мобильного приложения.

← На главную