1с ошибка 402 iis

Обновлено: 04.07.2024

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

В статье расскажем, как решали возникающие вопросы по настройкам Internet Information Services. Через призму своего опыта и коллег.

Сертификат выдается сроком на 90 дней. Для автоматического продления создается периодическое задание в Планировщике. При запуске задачи сайт должен быть доступен (пройти проверку домена) по 80-му порту.

II. Типовая настройка и публикация информационных баз на IIS

На что обратить внимание:

1. Состав компонентов IIS — в Интернете полно инструкций и указаний. Повторяться не будем.

2. Установка 1С необходимой разрядности . Варианта 2: x86 (32-разрядное приложение) или x64. Обязательно выбираем «Модули расширения веб-сервера».

3. Права для встроенной группы /пользователю веб-сервера (IUSR) на папки:

  • с установленной платформой — на «чтение и выполнение» (для старта процессов);
  • самих расположений ИБ — на «изменение» (в случае файлового варианта).

4. Публикация базы через Конфигуратор 1С . Возможно потребуется открыть программу с повышенными правами — «Запуск от имени администратора».

5. Для 32-разрядного клиента 1С в диспетчере IIS включаем разрешение запуска ( DefaultAppPool — Дополнительные параметры — Разрешены 32-разрядные приложения = True ). Для 1C x64 — значение не меняем.

6. На странице сопоставления обработчиков для «1С Web-service Extension» потребуется указать путь к исполняемому модулю :

  • x86 — «C:\Program Files (x86)\1cv8\8.3.x.xx\bin\wsisapi.dll»;
  • x64 — «C:\Program Files\1cv8\8.3.x.xx\bin\wsisapi.dll».

Либо изменяем путь к библиотеке в файлах web.config через Блокнот (располагается, как правило, в c:\inetpub\wwwroot\<имя базы>).

Если в п. 2 все сделано правильно — по указанному пути должен присутствовать файл wsisapi.dll.

7. В частных случаях требуется перезапуск служб IIS . Выполните «Перезапустить» в оснастке управления или перезагрузите сервер.

✅ Соблюдаем соответствие разрядности: если запускаем и публикуем 64-разрядный клиент 1С:Предприятие, то dll также должна быть 64-битной версии.

Если публикуем 32-разрядную версию 1С, то ставим разрешение запуска 32-разрядных приложений на IIS и проверяем путь к wsisapi из каталога x86.

III. Если клиент 1С зависает при подключении к базе по web

Прежде посмотрите этот материал — там общие рекомендации.

Другой случай. Файловая ИБ опубликована на IIS. После авторизации зависает на эмблеме 1С. При открытии Конфигуратора — все нормально.

В журналах Windows ошибка «Процесс, обслуживающий пул приложений "1С", не ответил на команду ping».

  • проверьте права на папку с базой 1С для IUSR/IIS_IUSRS, уровень доступа — на «изменение»;
  • в оснастке IIS «Пулы приложений — <пул_1С> — Дополнительные параметры — Модель процесса» задайте для « Максимальная задержка отклика при проверке связи » значение, превышающее 90 секунд;
  • посмотрите на поведение IIS при «Проверка связи включена» = False.
📝 Из справки: установка [pingingEnabled] (Проверка связи) в значение false не позволит IIS проверять, выполняется ли рабочий процесс, и таким образом сохранит его активным до остановки процесса отладки.

✅ Установка «Максимальное время отклика пинга» в большое значение позволит IIS продолжать наблюдение за рабочим процессом.

Информационная база 1C опубликована на IIS. При работе через тонкий клиент, при нажатии на «Отчеты» вываливается ошибка.

Описание: Необработанное исключение при выполнении текущего веб-запроса. Изучите трассировку стека для получения дополнительных сведений о данной ошибке и о вызвавшем ее фрагменте кода.

✅ Откройте настройки пула приложений и проверьте «Режим управляемого конвейера» = «Classic».

Коды данной категории служат для указание на ошибку со стороны клиента. При использовании любых методов запроса, кроме HEAD, сервера возвращает пользователю гипертекстовое пояснение по данной ошибке.

Коды данной категории, предназначены для ситуаций, когда обработка запроса не возможна по вине сервера. Во всех случаях, кроме использования метода HEAD, сервер должен включать в тело ответа, объяснение для пользователя.

Любой веб сервер обязан работать, по крайней мере с двумя методами GET и HEAD. Если сервер не смог определить метод, указанный в заголовке запроса клиента, он должен вернуть код статуса 501 (Not Implemented), если-же метод серверу известен, но неприменим к данному ресурсу, будет возвращен код статуса 405 (Method Not Allowed). Как в первом, так и во втором случае, сервер должен включить в свой ответ, заголовок Allow со списком методов, которые он поддерживает.

Метод OPTIONS

Данный метод используется для выяснения поддерживаемых веб-сервером возможностей или параметров соединения с конкретным ресурсом. Сервер включает в ответный запрос заголовок Allow, со списком поддерживаемых методов и возможно информацию о поддерживаемых расширениях. Тело запроса клиента, содержит информацию об интересующих его данных, но на данном этапе формат тела и порядок работы с ним, не определен, пока, сервер должен его игнорировать. С ответным запросом сервера, происходит аналогичная ситуация.

Метод GET

Метод GET, применяется для запроса конкретного ресурса. Так-же с помощью GET, может быть инициирован некий процесс, при этом, в тело ответа, включается информация о ходе выполнения инициированного запросом действия.

Кроме вышесказанного, существуют еще два вида метода GET, это:
условный GET, содержащий заголовки If-Modified-Since, If-Match, If-Range и им подобные,
Частичный GET, содержащий заголовок Range с указанием байтового диапазона данных, которые сервер должен отдать. Данный вид запроса используется для докачки и организации многопоточных закачек.

Порядок работы с этими подвидами запроса GET, стандартами определен отдельно.

Метод HEAD

Данный метод, аналогичен методу GET, с той лишь разницей, что сервер не отправляет тело ответа. Метод HEAD, как правило используется для получения метаданных ресурса, проверки URL ( есть-ли указанный ресурс на самом деле ) и для выяснения факта изменения ресурса с момента последнего обращения к нему.

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

Метод POST

В отличии от GET, метод POST, не является идемпотентным, то есть неоднократное повторение запроса POST, может выдавать разные результаты. В нашем случае, будет появляться новая копия комментария при каждом запросе.

Ответы сервера, на выполнение метода POST, не кэшируются.

Метод PUT

Используется для загрузки данных запроса на указанный URI. В случае отсутствия ресурса по указанному в заголовке URI, сервер создает его и возвращает код статуса 201 (Created), если ресурс присутствовал и был изменен в результате запроса PUT, выдается код статуса 200 (Ok) или 204 (No Content). Если какой-то из переданных серверу заголовков Content-*, не опознан или не может быть использован в данной ситуации, сервер возвращает статус ошибки 501 (Not Implemented).

Главное различие методов PUT и POST в том, что при методе POST, предполагается, что по указанному URI, будет производиться обработка, передаваемых клиентом данных, а при методе PUT, клиент подразумевает, что загружаемые данные уже соответствуют ресурсу, расположенному по данному URI.

Ответы сервера при методе PUT не кэшируются.

Метод PATCH

Работает аналогично методу PUT, но применяется только к определенному фрагменту ресурса.

Метод DELETE

Удаляет ресурс, расположенный по заданному URI.

Метод TRACE

При запросе методом TRACE, клиент может увидеть, какие изменения были сделаны в запросе, промежуточными серверами.

Настройка веб-сервера IIS

Большинство пользователей при работе в тонком или веб-клиенте используют в основном публикацию информационных баз на основании протокола HTTP. С одной стороны — это простой и быстрый способ дать доступ к информационной базе пользователю, у которого нет дистрибутива тонкого клиента, и он может работать только в веб-клиенте или у пользователя нет прямого доступа к серверу "1С:Предприятие". С другой стороны – информационные базы, опубликованным таким образом, категорически не рекомендуются публиковать в глобальной сети Интернет, так как в таком случае используется незащищенный канал, данные по которому могут быть перехвачены злоумышленниками. Например, распространенные виды атак это:

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

План работ:

Включение компонент веб-сервера.

Windows Server 2012 R2, 2016 и 2019.

Выпуск самоподписанного сертификата (Необязательно).

1. Включение компонент веб-сервера

По умолчанию в операционной среде Windows компоненты веб-сервера не установлены. В зависимости от версии установка может несущественно различаться. Мы будем рассматривать два варианта – это распространенный дистрибутив Windows 10, если планируются использовать для пробного включения шифрования протокола и Windows Server 2016/2018, если уже планируется непосредственное разворачивание публикации в продуктивной зоне.

1.1. Windows 10

Включение компонентов веб-сервера IIS в операционной системе Windows 10 выполняется достаточно просто. Для начала нужно открыть раздел "Программы и компоненты" ("Programs and Features") в панели управления (Control panel). Сделать можно это несколькими способами:

Нажать сочетание клавиш Win + R и в открывшемся окне ввести "appwiz.cpl" и нажать ОК.

Открыть панель управления (Control panel) и выбрать пункт меню Программы – Программы и компоненты (Programs – Programs and features).

В окне "Программы и компоненты" ("Programs and Features") нажмите на кнопку "Включение и отключение компонентов Windows" ("Turn Windows features on or off").


Когда откроется окно "Компоненты Windows" ("Windows features") в нем необходимо будет проставить флажки для следующих элементов:

Компоненты разработки приложений

Средства управления веб-сайтом

Консоль управления IIS


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

1.2 Windows Server 2012 R2, 2016 и 2019

Настройка компонент для Windows Server 2012 R2, Windows Server 2016 и Windows Server 2019 одинаковая и все настройки производятся в диспетчере серверов (Server Manager).

Откройте диспетчер серверов (Server Manager) и нажмите Управление – Добавить роли и компоненты (Manage – Add Roles and Features).


В ответ на нажатие откроется окно мастера добавления ролей и компонентов (Add Roles and Features).


В этом окне нажмите два раза "Далее" ("Next") пока мастер не переключится на страницу ролей сервера (Server Roles).


Во вкладке роли сервера (Server Roles) установите флажок "Web Server IIS". Так как эта роль зависит от другой роли ([Tools] IIS Management Console), то будет предложено установить ее дополнительно. Это можно сделать с помощью нажатия кнопки "Добавить компоненты" (Add Features) в открывшемся окне. После чего нажимаем кнопку "Далее" ("Next") пока мастер не дойдет до вкладки "Роль веб-сервера IIS" ("Web Server Role IIS"). На этой вкладке нажимайте кнопку "Далее" ("Next") и попадете на вкладку "Службу ролей" ("Role Services"). Во вкладке нужно найти пункт "Application Development" и выбрать в нем с помощью флажков пункты "ISAPI Extensions" и "ISAPI Filters". Как только закончите с установкой флажков нажимайте "Далее" ("Next") и "Установить" ("Install").

На этом установка веб-сервера завершена. Можно переходить к настройкам сертификатов.

2. Выпуск самоподписанного сертификата

Выпуск самоподписанного сертификата для веб-сервера IIS максимально простой.

Для реальных систем не рекомендуем использовать самоподписанный сертификат.

Для начала процедуры выпуска откройте окно Диспетчера служб IIS (Internet Information Services (IIS) Manager) и выделите сервер в списке Подключений (Connections) . После этого нажмите на ссылку "Сертификаты сервера" ("Server Certificates") .


Откроется окно доступных сертификатов сервера (Server Certificates) в котором нужно нажать "Создать самозаверенный сертификат…" ("Create Self-Signed Certificate…").


В окне мастера создания самоподписанного сертификата остается указать только произвольное название сертификата. В большинстве случаев, во избежание путаницы лучше явно указывать в качестве значения "Полное имя сертификата" ("Specify a friendly name for the certificate") адрес сервера, на котором расположен сервер IIS. Как только имя сертификата будет задано нажимайте на кнопку OK и переходите к пункту привязки сертификата.


3. Привязка сертификата

Предполагается, что сертификат получен и добавлен в список сертификатов сервера. Если сертификат получен с помощью распространенного сертифицирующего центра, то его нужно предварительно импортировать в окне "Сертификаты сервера" ("Server Certificates").



Как только сертификат появится в списке, переходим непосредственно к его привязки к публикации сайта. Для этого выделяем "Default Web Site" и в окне "Действия" ("Actions") нажимаем на пункт "Привязки…" ("Binding…").


В этом окне можно увидеть, что публикация работает только на порту 80, который относится к незащищенному протоколу HTTP. Чтобы его расширить, нажмите кнопку Добавить… (Add…) слева от списка привязок сайта и в открывшемся окне выберите Тип (Type) в качестве значения "https". Завершением настройки будет выбор ранее импортированного сертификата в списке "SSL-сертификат" ("SSL certificate"). Нажимаем кнопку OK и закрываем мастер привязок сайта.

Можно переходить к публикации информационной и проверки его работоспособности.


4. Проверка публикации

Для публикации информационной базы нужно открыть конфигуратор конкретной базы от имени администратора и перейти в пункт меню "Администрирование". После этого выбрать "Публикация информационной базы".

В окне публикации указать имя публикации и по желанию определить каталог, где будут находиться настройки публикации. Его также можно оставить по умолчанию.

После этого требуется нажать кнопку "Опубликовать" и дождаться окончания операции.


Для проверки корректной работы нужно открыть страницу в браузере и перейти по ссылке, которая состоит из двух частей:

И снова здравствуйте.

> При проверке Web сервер определяется, а опубликованная база не находится.
Пожалуйста, уточните, что означает "база не находится".

Попробовал исполнить Вашу инструкцию, получил следующее:

Не помогло, при "проверке готовности компьютера" ошибка осталась таже "Не удалось найти публикацию базы!". Попробовал войти браузером на опубликованное приложение выдал ошибку про кривую библиотеку ISAPI. Методом проб и ошибок выснилось, что при установке IIS 8.5 "по умолчанию" не устанавливаются компонент "Расширения ISAPI".

2. Устоновил в IIS не достающий компонент "Расширения ISAPI". Опубликованная база опять не нашлась. Но при входе через браузер на публикацию ошибка стала другая.

Невозможно отобразить эту страницу ввиду того, что произошла внутренняя ошибка сервера.

Подробные сведения об ошибке:

Обработчик 1C Web-service Extension

Код ошибки 0x800700c1

Физический путь C:\Inetpub\wwwroot\Money_101251

Метод входа Анонимная

Пользователь, выполнивший вход Анонимная

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

При "проверке готовности компьютера" ошибок нет. Адрес в настройках 1С проверяется. При входе через браузер возникает следующая ошибка.

Вы не имеете права просматривать эту страницу из-за недопустимости заголовков проверки подлинности.

Подробные сведения об ошибке:

Модуль IIS Web Core

Обработчик 1C Web-service Extension

Код ошибки 0x80070005З

Физический путь C:\Inetpub\wwwroot\Money_101251

Метод входа Пока не определено

Пользователь, выполнивший вход Пока не определено

4. Печальные итоги.

Остановился на двух неработающих вариантах.

Публикация без галки "использовать аутентификацию операционной системы" (Соответствует включенной в консоли IIS для опубликованного приложения "анонимной проверки подлинности")

Сервис на компе не находится. При попытке синхронизации iPad ошибка в Миниденьгах, что не найден сервис синхронизации. Ощущение что где то на компе не хватает NTFS-ных прав, вроде перепробовал уже все.

Публикация с галкой "использовать аутентификацию операционной системы" (Соответствует отключенной в консоли IIS для опубликованного приложения "анонимной проверки подлинности")

Сервис на компе находится, адрес проверяется. Но при сихронизации Миниденьги пишут ошибку "Неправильное имя или пароль пользователя настольного приложения". Экспериментировал с заведением пользователя в настольной 1С - ни какие варианты не помогли.

Скорее всего Миниденьги не корректно обрабатывают возвращаемую от сервиса ошибку, и проблема не в пользователе настольного приложения, а в том что запрещены анонимные подключения к сервису.

Читайте также: