Как исправить ошибку HTTP 403.14 - Forbidden при публикации базы 1С на IIS?

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

При публикации информационных баз 1С на веб-сервере Internet Information Services (IIS) системные администраторы часто сталкиваются с неприятной ситуацией: вместо привычного окна авторизации 1С браузер выдает ошибку HTTP 403.14 - Forbidden. В тексте ошибки сервер сообщает, что он настроен таким образом, чтобы не формировать список содержимого каталога. Рассмотрим детально, почему это происходит и как правильно решить проблему, не прибегая к потенциально небезопасным настройкам.

Для начала проанализируем ситуацию. Ошибка 403.14 возникает в тот момент, когда IIS получает запрос к определенному URL (адресу вашей базы), но не находит там "документа по умолчанию" и не имеет инструкций о том, какой программный модуль (обработчик) должен обработать этот запрос. В результате сервер полагает, что пользователь хочет просто посмотреть список файлов в папке, а так как просмотр каталогов по умолчанию запрещен в целях безопасности, он выдает 403.14.

Разберем главную ошибку: почему нельзя просто включить "Просмотр каталога"

Многие инструкции в интернете советуют зайти в диспетчер IIS и просто включить функцию "Просмотр каталога" (Directory Browsing). Разберем по шагам, к чему это приведет. Если мы активируем эту опцию, ошибка 403.14 исчезнет, но база 1С все равно не заработает. Вместо этого в окне браузера вы увидите список файлов, таких как default.vrd и web.config. Это подтверждает, что проблема заключается не в запрете просмотра папок, а в том, что веб-сервер "не подцепил" модуль расширения 1С, который должен исполнять файл публикации. Наша задача — заставить IIS правильно использовать библиотеку wsap32.dll или wsap64.dll.

Решение 1: Соответствие разрядности платформы и настроек пула приложений

Выясним наиболее частую причину: конфликт 32-битных и 64-битных компонентов. Если вы установили 64-разрядную платформу 1С:Предприятие, то и веб-сервер должен работать с ней в соответствующем режиме. Рассмотрим, как правильно настроить пулы приложений.

  1. Откроем Диспетчер служб IIS.
  2. Перейдем в раздел "Пулы приложений" (Application Pools).
  3. Найдем пул, который используется вашим веб-сайтом (по умолчанию это DefaultAppPool, но при публикации 1С часто создается отдельный пул).
  4. Щелкнем правой кнопкой мыши на пуле и выберем "Дополнительные параметры" (Advanced Settings).
  5. Найдем пункт "Разрешить 32-разрядные приложения" (Enable 32-Bit Applications).

Важное правило: если вы используете 64-битную платформу 1С и библиотеку wsap64.dll, установите это значение в False. Если же у вас установлена 32-битная платформа, значение должно быть True. Несоответствие этого параметра разрядности установленной платформы — самая частая причина того, что обработчик 1С игнорируется сервером.

Решение 2: Публикация от имени администратора

Проанализируем ситуацию (Публикатор 1С. Как публиковать базы с комфортом), когда все настройки кажутся верными, но система не работает. Часто проблема кроется в недостатке прав в момент самой публикации. Посмотрим на алгоритм правильной публикации:

  1. Закроем все запущенные конфигураторы.
  2. Найдем ярлык 1С:Предприятия, нажмем правую кнопку мыши и выберем "Запуск от имени администратора".
  3. Зайдем в конфигуратор нужной базы.
  4. Перейдем в меню "Администрирование" — "Публикация на веб-сервере".
  5. Нажмем кнопку "Опубликовать" (даже если база уже была опубликована, это нужно для перезаписи конфигурационных файлов с правильными правами).

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

Решение 3: Проверка ограничений ISAPI и CGI

Иногда расширение веб-сервера 1С прописано в настройках сайта, но заблокировано на уровне всего сервера IIS. Выясним, как это проверить:

  1. В Диспетчере IIS выберите корневой узел (имя вашего сервера).
  2. В центральной части окна найдите раздел "Ограничения ISAPI и CGI" (ISAPI and CGI Restrictions).
  3. Проверьте список. В нем должен быть путь к библиотеке 1С (например, C:\Program Files\1cv8\8.3.XX.XXXX\bin\wsap64.dll).
  4. Убедитесь, что в колонке "Ограничение" стоит статус "Разрешено" (Allowed). Если пути нет, добавьте его вручную через действие "Добавить".

Решение 4: Проверка прав доступа к файловой системе (NTFS)

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

Нам необходимо предоставить права на "Чтение и выполнение" для группы IIS_IUSRS (или конкретного пользователя пула приложений) на следующие каталоги:

  1. Папка, в которую была выполнена публикация (где лежит default.vrd).
  2. Папка bin установленной платформы 1С (где лежат wsap32.dll или wsap64.dll). Обычно это C:\Program Files\1cv8\номер_версии\bin.

Без доступа к папке bin веб-сервер просто не сможет физически прочитать библиотеку расширения, что опять же приведет к ошибке 403.14.

Решение 5: Настройка компонентов IIS в Windows

Проанализируем еще один важный момент: установлены ли необходимые компоненты в самой операционной системе. Для работы 1С через расширение веб-сервера недостаточно просто установить роль IIS. Рассмотрим, что должно быть включено:

  1. Зайдем в "Включение или отключение компонентов Windows".
  2. Развернем узел "Службы IIS" — "Службы Интернета" — "Компоненты разработки приложений".
  3. Убедимся, что установлены флажки на:
    • Расширения ISAPI (ISAPI Extensions)
    • Фильтры ISAPI (ISAPI Filters)

Если эти компоненты отсутствуют, IIS не поймет, как обрабатывать запросы через DLL-библиотеки 1С.

Решение 6: Анализ файла web.config

Посмотрим на структуру файла web.config, который создается в папке публикации. Откройте его любым текстовым редактором (например, Notepad++). Секция обработчиков должна выглядеть примерно так:


<system.webServer>
    <handlers>
        <add name="1C Web-Service Handler" 
             path="*" 
             verb="*" 
             modules="IsapiModule" 
             scriptProcessor="C:\Program Files\1cv8\8.3.22.1709\bin\wsap64.dll" 
             resourceType="Unspecified" 
             requireAccess="Script" />
    </handlers>
</system.webServer>

Проверьте параметр scriptProcessor. Он должен содержать актуальный и правильный путь к библиотеке 1С той разрядности, которую мы настроили в пуле приложений. Если путь ведет к несуществующей версии платформы (например, после обновления 1С), сервер выдаст ошибку доступа.

Итоги

Как мы выяснили, ошибка 403.14 — это лишь симптом того, что IIS не смог запустить обработчик 1С. Вместо того чтобы включать просмотр каталогов, мы должны обеспечить корректную связку разрядности платформы, прав доступа к файлам и разрешений в настройках самого веб-сервера. Следуя этим шагам, вы сможете добиться стабильной работы веб-публикации без лишних "танцев с бубном".

← На главную