Как исправить ошибку 404 при публикации дистрибутива платформы 1С на веб-сервере Apache в составе XAMPP

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

При работе с веб-публикацией баз данных 1С системные администраторы часто сталкиваются с ситуацией, когда сама информационная база через браузер или тонкий клиент открывается корректно, но при попытке автоматического обновления платформы возникает Ошибка 404 (Not Found). Особенно часто эта проблема проявляется при использовании готовых сборок типа XAMPP, где настройки Apache могут отличаться от стандартных. В этой статье мы подробно разберем, как правильно настроить веб-сервер для публикации дистрибутивов и почему возникают ошибки при получении файлов .zip.

Анализ проблемы и первичная диагностика

Рассмотрим типичную ситуацию: в конфигураторе 1С выполнена публикация базы на веб-сервере. В окне публикации на закладке "Дополнительно" установлена галочка "Публиковать дистрибутив тонкого клиента" и указаны пути к файлам. Однако при запуске пользователем программы появляется сообщение: "Во время получения обновления программы произошла ошибка. Код ошибки: 404".

Проанализируем причины. Код 404 означает, что веб-сервер Apache получил запрос, но не смог сопоставить URL запроса с физическим файлом на диске. Это может происходить из-за неправильной настройки директивы Alias, отсутствия прав доступа к папке с дистрибутивами или ограничений безопасности внутри самого XAMPP.

Шаг 1. Настройка публикации в Конфигураторе 1С

Прежде всего, проверим, как сформирован файл публикации. Для этого запустим 1С:Предприятие в режиме Конфигуратор от имени Администратора. Это критически важно, так как для записи изменений в файлы веб-сервера требуются повышенные привилегии.

  1. Перейдем в меню Администрирование — Публикация на веб-сервере.
  2. На основной вкладке выберем наш установленный Apache 2.4.
  3. Перейдем на вкладку Дополнительно.
  4. Убедимся, что включена опция "Публиковать дистрибутив тонкого клиента".
  5. В полях для Win32, Win64 и других систем должны быть указаны корректные ссылки. Например: http://135.181.82.57:8080/platform/setuptc64_8_3_23_1865.zip.

После нажатия кнопки "Опубликовать", система обновит файл 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="/ar_ttest"
        ib="Srvr="serverf";Ref="ar_ttest";"
        pubdstwin64="http://135.181.82.57:8080/platform/setuptc64_8_3_23_1865.zip">
    <standardOdata enable="false" reuseSessions="autouse" sessionMaxAge="20" poolSize="10" poolTimeout="5"/>
</point>

Обратим внимание на параметр pubdstwin64. Ссылка в нем должна вести на виртуальный каталог /platform, который нам необходимо настроить в самом Apache.

Шаг 2. Конфигурация виртуального каталога в Apache (httpd.conf)

Поскольку файлы дистрибутивов обычно хранятся вне папки htdocs (корневой папки веб-сервера), нам нужно создать Alias (псевдоним), чтобы Apache понимал, где их искать физически. Откроем файл конфигурации httpd.conf (в XAMPP он обычно находится по пути C:\xampp\apache\conf\httpd.conf) и добавим в конец следующие строки:


# Настройка доступа к дистрибутивам платформы 1С
Alias "/platform" "C:/WWW/platform/"

<Directory "C:/WWW/platform">
    AllowOverride All
    Options Indexes Includes
    Require all granted
</Directory>

Разберем, что мы здесь прописали:

Шаг 3. Решение специфических проблем XAMPP

В сборках XAMPP часто включены дополнительные настройки безопасности, которые могут блокировать доступ к файлам. Рассмотрим дополнительные шаги для устранения ошибки 404.

Проверка MIME-типов: Если Apache не знает, как обрабатывать файлы с расширением .zip, он может отказаться их отдавать. Проанализируем файл mime.types или добавим в httpd.conf строку:

AddType application/zip .zip

Права доступа к файловой системе: Убедимся, что служба Apache (в XAMPP это обычно xampp\apache\bin\httpd.exe) запущена от имени учетной записи, которая имеет права на чтение папки C:\WWW\platform\. Если служба запущена от LocalSystem, обычно проблем нет, но при запуске от ограниченного пользователя доступ может быть закрыт.

Настройки httpd-xampp.conf: В папке conf/extra/ проверьте файл httpd-xampp.conf. Иногда там прописаны глобальные запреты на доступ к ресурсам вне htdocs. Если вы видите директивы <LocationMatch ...> Deny from all </LocationMatch>, они могут перехватывать ваш запрос.

Шаг 4. Диагностика через логи сервера

Если после всех настроек и обязательного перезапуска службы Apache ошибка 404 сохраняется, выясним истинную причину через логи. В папке xampp\apache\logs\ найдите файл error.log.

Посмотрим на типичную запись об ошибке:

[error] [client 192.168.1.1] File does not exist: C:/xampp/htdocs/platform/setuptc64_8_3_23_1865.zip

Эта запись говорит нам о том, что наш Alias не сработал, и сервер ищет файл в корневой папке htdocs вместо C:/WWW/platform. В этом случае нужно перепроверить синтаксис Alias и убедиться, что он прописан вне других блоков <Directory> или <VirtualHost>, которые могут его перекрывать.

Шаг 5. Структура файлов в папке дистрибутива

Проанализируем ситуацию, когда сам zip-файл доступен, но 1С все равно выдает ошибку. При публикации платформы 1С создает не только архив, но и вспомогательные файлы. Убедитесь, что в папке C:/WWW/platform/ находятся:

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

Резюме и рекомендации

Подведем итог. Для успешного исправления ошибки 404 выполним следующие действия:

  1. Опубликуем базу из Конфигуратора под правами администратора.
  2. Проверим наличие путей в default.vrd.
  3. Добавим Alias в httpd.conf с разрешением доступа Require all granted.
  4. Убедимся, что Apache корректно распознает MIME-типы для zip-архивов.
  5. Перезапустим службу Apache через панель управления XAMPP.

В некоторых случаях, если XAMPP продолжает конфликтовать с модулями 1С (например, из-за несовместимости версий библиотек OpenSSL), специалисты рекомендуют использовать "чистый" дистрибутив Apache, скачанный с официального сайта, вместо готовых сборок. Это позволяет более гибко управлять модулями и избегать лишних надстроек безопасности, специфичных для XAMPP.

← На главную