Почему вместо веб-клиента 1С открывается список файлов index и default.vrd?

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

Сталкивались ли вы с ситуацией, когда публикация базы 1С на веб-сервере вроде бы проходит успешно, но при попытке зайти в нее через браузер вместо привычного окна входа вы видите простое содержимое папки — две строки: index и default.vrd? Это довольно распространенная проблема, которая говорит о том, что веб-сервер Apache не понимает, что ему нужно передать запрос платформе 1С, и обрабатывает его как обращение к обычному каталогу с файлами.

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

Причина №1: Неверная конфигурация Apache в файле httpd.conf

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

Основная задача этого блока — указать Apache, что все запросы, приходящие на определенный адрес (например, http://server/mybase), должны обрабатываться не как файлы, а специальным модулем 1С. За это отвечает директива SetHandler 1c-application.

Разберем по шагам, что нужно проверить:

  1. Найдите и откройте файл httpd.conf. Обычно он находится в папке conf в каталоге установки Apache (например, C:\Apache24\conf\httpd.conf).
  2. В конце файла найдите блок, относящийся к вашей новой публикации. Он будет выглядеть примерно так:
    
    Alias "/имя_вашей_публикации" "C:/путь/к/каталогу/публикации/"
    <Directory "C:/путь/к/каталогу/публикации/">
        AllowOverride None
        Options None
        Require all granted
        SetHandler 1c-application
    </Directory>
    
  3. Внимательно проверьте строку SetHandler 1c-application. Убедитесь, что:
    • Эта строка присутствует в блоке <Directory ...>. Если ее нет, Apache не знает, что делать с запросом, и просто показывает файлы.
    • В ней нет опечаток (например, SetHanler вместо SetHandler).
  4. Проверьте пути в строках Alias и Directory. Они должны быть корректными и указывать на реальные каталоги на диске. Обратите внимание, что в Apache принято использовать прямые слэши (/), даже в Windows.

Если вы внесли изменения в файл, обязательно сохраните его и перезапустите службу Apache вручную через оснастку "Службы" (services.msc), чтобы изменения применились.

Причина №2: Конфликт разрядности (x64/x86)

Это вторая по популярности причина, на которую часто не обращают внимания. Для корректной совместной работы разрядность веб-сервера Apache и платформы 1С:Предприятие должна совпадать. Нельзя использовать 32-разрядный (x86) Apache с 64-разрядной (x64) платформой 1С, и наоборот.

Как проверить и исправить:

  1. Определите разрядность компонентов. Самый простой способ — посмотреть, куда они установлены:
    • 64-разрядные приложения обычно устанавливаются в C:\Program Files\.
    • 32-разрядные приложения на 64-разрядной Windows устанавливаются в C:\Program Files (x86)\.
    Проверьте папки установки Apache и сервера 1С.
  2. Проверьте путь к модулю 1С в httpd.conf. В этом же файле найдите строку, которая подключает модуль веб-расширения 1С. Она начинается с LoadModule.
    • Для Apache 2.2 строка будет выглядеть так: LoadModule _1cws_module "C:/Program Files/1cv8/ВЕРСИЯ_ПЛАТФОРМЫ/bin/wsap22.dll"
    • Для Apache 2.4: LoadModule _1cws_module "C:/Program Files/1cv8/ВЕРСИЯ_ПЛАТФОРМЫ/bin/wsap24.dll"
    Убедитесь, что путь к файлу wsap22.dll или wsap24.dll ведет в каталог правильной разрядности платформы 1С. Если у вас 64-разрядный Apache, путь должен указывать на C:\Program Files\1cv8\..., а не на C:\Program Files (x86)\1cv8\....

Если вы обнаружили несоответствие, единственное правильное решение — удалить один из компонентов и установить версию с правильной разрядностью.

Причина №3: Недостаточно прав доступа к каталогу публикации

Служба Apache на Windows по умолчанию запускается от имени системной учетной записи, чаще всего это LOCAL SERVICE (или ЛОКАЛЬНАЯ СЛУЖБА). Если у этой учетной записи нет прав на чтение и выполнение файлов в каталоге, куда вы опубликовали базу, веб-сервер не сможет корректно обработать запрос.

Проверим и настроим права:

  1. Найдите папку, в которую вы опубликовали базу 1С.
  2. Нажмите на нее правой кнопкой мыши и выберите "Свойства".
  3. Перейдите на вкладку "Безопасность".
  4. Нажмите кнопку "Изменить", а в следующем окне — "Добавить".
  5. В поле для ввода имен введите LOCAL SERVICE (или ЛОКАЛЬНАЯ СЛУЖБА) и нажмите "Проверить имена". Система должна найти пользователя. Нажмите "ОК".
  6. Выделите только что добавленного пользователя в списке и в нижней части окна установите для него флажок "Полный доступ" в колонке "Разрешить".
  7. Примените изменения, нажав "ОК" во всех окнах.

После настройки прав обязательно перезапустите службу Apache.

Диагностика и дополнительные шаги

Если предыдущие шаги не помогли, пора перейти к более глубокой диагностике.

Анализ логов Apache
Это самый мощный инструмент для поиска ошибок. Apache ведет журналы всех своих действий, и там почти всегда есть ответ на вопрос "что пошло не так?".

Правильный перезапуск служб
Как отметили на форуме, автоматический перезапуск веб-сервера, который предлагает конфигуратор 1С после публикации, не всегда срабатывает корректно. Всегда перезапускайте службу Apache вручную после любых изменений в конфигурации. Это гарантирует, что все новые настройки будут прочитаны и применены.

Оптимизация Apache под Windows (x64)
Для повышения стабильности работы Apache на 64-разрядных версиях Windows рекомендуется добавить в конец файла httpd.conf специальные директивы. Они не решают напрямую проблему с отображением файлов, но могут предотвратить другие сбои в работе веб-сервера.


AcceptFilter http none
AcceptFilter https none
EnableSendfile off
EnableMMAP off

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

← На главную