Почему при обращении к HTTP-сервису 1С в браузере появляется окно авторизации?

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

Часто при работе с HTTP-сервисами 1С, опубликованными на веб-сервере IIS, разработчики и администраторы сталкиваются с внезапным появлением окна авторизации. Это окно требует ввести логин и пароль, причем иногда оно запрашивает учетные данные пользователя операционной системы, а иногда — пользователя 1С. Давайте разберем, почему это происходит и как устранить данную проблему.

Разбор причин возникновения авторизации

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

  1. Отсутствие прав доступа или неверные учетные данные: Если в базе 1С не настроен пользователь, под которым выполняется HTTP-сервис, или у пользователя ОС нет пароля, IIS может выдавать запрос на авторизацию для проверки полномочий на уровне сервера.
  2. Конфликт типов аутентификации в IIS: Если в консоли управления IIS включены одновременно Anonymous Authentication и Windows Authentication, браузер может «запутаться» и пытаться использовать аутентификацию Windows вместо передачи заголовков авторизации 1С.
  3. Настройки файловой системы: Пул приложений, под которым работает публикация, должен иметь корректные права на чтение и выполнение для каталога с default.vrd и файлами bin.

Шаг 1: Диагностика с помощью инструментов разработчика

Прежде чем приступать к исправлению, давайте проанализируем, что именно отвечает сервер. Откройте инструменты разработчика в браузере (клавиша F12) и перейдите на вкладку Network (Сеть). Выполните запрос к вашему HTTP-сервису и посмотрите на код ответа сервера:

Шаг 2: Настройка пользователей и проверка полномочий

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

Если решение не помогло, попробуйте добавить пользователя с именем admin (или тем, которое предлагает браузер) без пароля, чтобы проверить, исчезнет ли окно. Однако помните, что это лишь способ диагностики, а не финальное решение безопасности.

Шаг 3: Использование инструментов для тестирования запросов

Не пытайтесь проверять работу HTTP-сервисов исключительно через адресную строку браузера. Браузеры не всегда корректно обрабатывают заголовки Authorization при каждом запросе. Мы настоятельно рекомендуем использовать специализированные инструменты для отправки HTTP-запросов, такие как Postman или расширения Boomerang.

При отправке запроса через такие инструменты, вручную добавляйте заголовок Authorization с типом Basic. Значение этого заголовка должно быть закодировано в формате Base64: логин:пароль. Рассмотрим пример того, как это должно выглядеть на стороне клиента:


// Пример логики формирования заголовка в стороннем клиенте:
// Заголовок: Authorization
// Значение: Basic [base64(логин:пароль)]
// Например: Basic YWRtaW46MTIzNDU2 (если логин admin, пароль 123456)

Шаг 4: Проверка настроек IIS

Если ничего не помогает, проверьте настройки виртуального каталога в IIS. Убедитесь, что для каталога 1cws (или вашего названия публикации) методы аутентификации настроены единообразно. Часто помогает сброс настроек публикации: удалите публикацию через конфигуратор 1С и создайте ее заново. Это гарантирует, что IIS вернет корректные права доступа для пула приложений IIS AppPool, под которым работает 1С.

Также обратите внимание на состояние пароля пользователя Windows, под которым работает пул приложений. Если у пользователя Windows, от имени которого запущен пул, установлен пустой пароль, это часто приводит к ошибкам IIS при попытке взаимодействия с базой данных 1С.

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

← На главную