Особенности публикации 1С на 64-битном Apache 2.4 и исправление ошибок 404 и 405

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

При настройке взаимодействия 64-разрядного сервера 1С:Предприятие с веб-сервером Apache 2.4 (64 бит) разработчики и системные администраторы часто сталкиваются с ситуацией, когда опубликованная информационная база или HTTP-сервисы возвращают ошибки с кодами 404 (Not Found) или 405 (Method Not Allowed). Рассмотрим подробно технические требования к такой конфигурации, разберем причины возникновения ошибок и способы их устранения.

1. Сопоставление разрядности и обновление модуля wsap24.dll

Для корректной работы 64-битной версии Apache требуется соответствующий 64-разрядный модуль расширения веб-сервера 1С — библиотека wsap24.dll. Загрузить 32-битную библиотеку в 64-битный процесс Apache невозможно.

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

  1. При установке или обновлении платформы 1С служба веб-сервера Apache должна быть полностью остановлена.
  2. Если служба Apache запущена в момент установки платформы, файл wsap24.dll оказывается заблокирован процессом. В результате платформа не может обновить библиотеку, и веб-сервер продолжает использовать старую версию модуля, что влечет за собой непредсказуемое поведение и ошибки подключения.
  3. Для успешной загрузки 64-битной библиотеки wsap24.dll в операционной системе Windows должны быть установлены соответствующие компоненты Microsoft Visual C++ Redistributable (x64).

2. Настройка файла конфигурации Apache (httpd.conf)

Для обеспечения стабильной работы 64-разрядного веб-сервера Apache с платформой 1С необходимо внести изменения в основной конфигурационный файл httpd.conf.

Выясним причину возможных утечек памяти и падения службы: по умолчанию Apache может использовать функции отбражения файлов в память (MMAP) и системный вызов sendfile. При высокой нагрузке на 1С это приводит к нестабильности сервера. Отключим данные функции в httpd.conf:


EnableMMAP off
EnableSendfile off

Также убедимся, что путь к библиотеке загрузки модуля 1С указан правильно и соответствует установленной 64-битной платформе, а в блоке доступа к каталогу публикации заданы корректные директивы Apache 2.4:


LoadModule _1c24_module "C:/Program Files/1cv8/8.3.10.2299/bin/wsap24.dll"

<Directory "C:/inetpub/wwwroot/base">
    AllowOverride None
    Options None
    Require all granted
    SetHandler 1c-application
</Directory>

3. Причины возникновения ошибки HTTP 404 (Not Found)

Если при вызове HTTP-сервиса веб-сервер возвращает код 404, разберем по шагам возможные источники проблемы:

  1. Чувствительность к регистру символов (Case Sensitivity): В веб-сервере Apache и при сопоставлении URL-шаблонов в 1С регистр букв имеет принципиальное значение. Если в конфигураторе корневой URL задан как Test, то запрос по адресу /hs/test вернет ошибку 404. Корневой URL и шаблоны URL должны строго совпадать с отправляемым HTTP-запросом.
  2. Неверный путь к точке публикации: Проверьте файл default.vrd в каталоге публикации информационной базы. Путь к информационной базе и настройки сервисов должны быть сформированы без ошибок.
  3. Отсутствие необходимых компонентов 1С: При установке платформы на сервер должен быть обязательно выбран компонент «Модули расширения веб-сервера».

4. Причины возникновения ошибки HTTP 405 (Method Not Allowed)

Ошибка 405 означает, что веб-сервер нашли ресурс по указанному URL, но запрошенный HTTP-метод (GET, POST, PUT, DELETE) не поддерживается для данного адреса.

Рассмотрим порядок отладки ошибки 405:

  1. Посмотрим на структуру HTTP-сервиса в конфигураторе 1С. Для каждого шаблона URL должен быть явно создан обработчик соответствующего метода. Если клиент отправляет запрос POST, а в шаблоне URL определен только метод GET, сервер 1С вернет ошибку 405.
  2. Убедимся, что имя метода в 1С сопоставлено с правильным HTTP-глаголом (полю «HTTP метод» в свойствах метода 1С должно быть присвоено значение POST).
  3. Проверим настройки ограничения методов в конфигурации Apache (например, директивы AllowMethods или блоки <Limit>), чтобы веб-сервер не блокировал входящие запросы до передачи их в модуль 1С.

5. Проверка прав доступа службы

Учетная запись, от имени которой запущен сервис Apache2.4, должна обладать достаточными правами в системе:

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

Если после выполнения всех настроек Apache продолжает работать нестабильно, в качестве альтернативного решения для Windows-систем можно рассмотреть публикацию базы на веб-сервере Internet Information Services (IIS), который поставляется в составе ОС и штатно интегрируется с 64-битной платформой 1С.

← На главную