Почему при публикации 1С на IIS открывается список файлов вместо приложения и как это исправить?

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

Когда вы выполняете публикацию базы 1С на веб-сервере IIS, ожидается, что при переходе по адресу в браузере откроется форма авторизации или само приложение. Однако иногда вместо этого вы видите обычный проводник с перечнем файлов, лежащих в папке публикации. Это означает, что IIS не «понимает», что данный каталог является веб-приложением, и не знает, как обрабатывать запросы к файлам 1С. Давайте разберемся, как исправить эту ситуацию и заставить сервер корректно исполнять wsisapi.dll.

Шаг 1: Правильное преобразование папки в приложение

Первое, на что необходимо обратить внимание — это структура внутри самого диспетчера IIS. Недостаточно просто скопировать файлы в папку сайта. В иерархии сайтов IIS папка должна быть помечена специальным значком, обозначающим «Приложение».

  1. Откройте «Диспетчер служб IIS».
  2. Перейдите к вашему сайту в дереве соединений.
  3. Найдите созданную папку публикации. Если она отображается как обычная папка, нажмите на нее правой кнопкой мыши.
  4. Выберите пункт «Преобразовать в приложение» (Convert to Application).
  5. В появившемся окне проверьте, чтобы пул приложений был выбран правильно (обычно рекомендуется создавать отдельный пул для каждой базы 1С).

Шаг 2: Настройка сопоставления обработчиков

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

Разберем, как вручную добавить необходимый обработчик:

  1. В диспетчере IIS выберите вашу папку с публикацией.
  2. В центральной части окна найдите раздел «Сопоставления обработчиков» (Handler Mappings) и откройте его.
  3. В панели «Действия» справа выберите «Добавить сопоставление модуля» (Add Module Mapping).
  4. В открывшемся окне заполните поля следующим образом:
    • Путь запроса: *
    • Модуль: IsapiModule
    • Исполняемый файл: укажите путь к файлу wsisapi.dll. Например: C:\Program Files\1cv8\8.3.25.1560\bin\wsisapi.dll
    • Имя: введите любое понятное название, например, 1C_Web_Service.
  5. Нажмите «ОК». Система может запросить подтверждение создания обработчика, соглашайтесь.

После добавления этого сопоставления сервер будет перенаправлять все запросы к 1С через указанный модуль, что позволит корректно обрабатывать файл default.vrd.

Шаг 3: Проверка компонентов Windows

Даже при правильной настройке внутри IIS, проблема может крыться в том, что сам компонент «Расширяемость ISAPI» не установлен в Windows. Давайте проверим это:

  1. Откройте «Панель управления» -> «Программы и компоненты» -> «Включение или отключение компонентов Windows».
  2. Найдите узел «Службы IIS» -> «Веб-сервер» -> «Разработка приложений».
  3. Убедитесь, что установлены галочки напротив пунктов:
    • Расширяемость ISAPI
    • Фильтры ISAPI
  4. Если они не установлены — обязательно отметьте их и дождитесь окончания установки. После этого может потребоваться перезагрузка служб IIS.

Шаг 4: Анализ прав доступа

Иногда IIS не может выполнить библиотеку wsisapi.dll из-за ограничений безопасности. Пул приложений, под которым работает ваша публикация, должен иметь права на чтение и выполнение в каталоге установки платформы 1С и в папке публикации.

Попробуйте временно изменить «Удостоверение» (Identity) пула приложений на LocalSystem, чтобы проверить, исчезнет ли проблема с доступом. Если всё заработало, значит, нужно вернуть более безопасные настройки (например, ApplicationPoolIdentity) и корректно настроить права NTFS на папках 1С для соответствующей учетной записи.

Рекомендации по диагностике

Если после выполнения всех шагов база по-прежнему не открывается, проанализируйте системные журналы Windows:

Помните, что разрядность Application Pool (32 или 64 бита) должна соответствовать установленной платформе 1С. В настройках пула приложений параметр «Разрешить 32-разрядные приложения» должен быть включен, если у вас установлена 32-битная версия 1С на 64-битной Windows.

← На главную