При публикации базы данных 1С на веб-сервере Internet Information Services (IIS) системные администраторы часто сталкиваются с ситуацией, когда на самом сервере всё работает корректно, но при попытке входа с клиентских машин вместо окна выбора пользователя отображается пустая страница или возникает ошибка аутентификации. Разберем по шагам, почему это происходит и как правильно настроить связку 1С и IIS для стабильной работы в локальной сети. Чтобы автоматизировать этот процесс и исключить ошибки ручной настройки, можно использовать внешнюю обработку для публикации информационных баз.
Одной из самых частых причин ошибок аутентификации в журнале регистрации 1С является запись NT AUTHORITY\IUSR. Эта встроенная учетная запись Windows используется IIS для обеспечения анонимного доступа к веб-содержимому. Когда пользователь обращается к базе через браузер, IIS пытается инициировать сеанс именно от этого имени. Если у IUSR нет прав на чтение и запись в папку, где лежит файловая база данных (файл 1Cv8.1CD), подключение прерывается до того, как вы увидите окно ввода логина.
Рассмотрим правильный алгоритм настройки прав доступа:
ApplicationPoolIdentity, что часто создает путаницу в правах.1c_web_user) и включить его в группу пользователей IIS.Файл default.vrd — это сердце вашей публикации. Он находится в каталоге, который вы указали при публикации базы через Конфигуратор. Проанализируем его содержимое. Иногда стандартная публикация не прописывает все необходимые параметры для корректной передачи данных авторизации.
Разберем основные атрибуты, которые могут нам понадобиться:
true, 1С будет пытаться использовать Windows-аутентификацию.Если окно выбора пользователя «зависает» или не появляется, мы можем попробовать жестко прописать технического пользователя для веб-сервиса в строке соединения внутри default.vrd. Это позволит IIS авторизоваться в 1С под конкретной учеткой, а уже внутри системы разграничить права, если это необходимо. Пример строки соединения:
<point xmlns="http://v8.1c.ru/8.2/virtual-resource-system"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
base="/MyBase"
ib="File="C:\Bases\Trade";usr=WebUser;pwd=SecretPassword;">
</point>
Здесь usr и pwd — это логин и пароль пользователя, созданного внутри самой 1С.
Проанализируем ситуацию, когда включена «Аутентификация операционной системы» в 1С. В этом случае настройки в консоли IIS должны строго соответствовать настройкам в Конфигураторе. Если в IIS включена одновременно и Анонимная проверка подлинности, и Проверка подлинности Windows, сервер может отдавать приоритет анонимному входу, что приведет к ошибке доступа.
Для корректной работы Windows-аутентификации выполним следующие шаги:
Часто проблема с доступом с других машин связана с тем, что IIS неправильно обрабатывает запросы к расширениям 1С (.1cws, .1capp). Это происходит из-за некорректного указания пути к библиотеке расширения веб-сервера. Выясним, какая версия платформы используется, и проверим настройки.
Перейдем в раздел Сопоставление обработчиков (Handler Mappings) в IIS:
1C Web-service Extension.wsisapi.dll ведет именно в ту папку bin, которая соответствует текущей работающей версии 1С (например, C:\Program Files\1cv8\8.3.21.1302\bin\wsisapi.dll).True.Посмотрим на логи IIS (обычно они находятся в C:\inetpub\logs\LogFiles\). Если вы видите запросы со статусом 401 (Unauthorized) или странные 402, это прямой сигнал о проблеме с правами или методом передачи учетных данных. Код 401.2 часто означает, что сервер настроен на проверку подлинности Windows, но клиент (браузер) не смог передать данные пользователя.
Проанализируем ситуацию с «белым экраном». Часто он возникает из-за работы Фильтрации запросов (Request Filtering). 1С генерирует очень длинные URL при работе через веб-интерфейс. Если лимит длины строки запроса в IIS слишком мал, сервер будет обрывать соединение до загрузки скриптов авторизации.
Чтобы это исправить, в разделе Фильтрация запросов выберем Изменить параметры функции и увеличим значения параметров:
Если все вышеперечисленные настройки проверены, но «Ошибка аутентификации» сохраняется только для внешних подключений, стоит обратить внимание на фаервол и антивирусное ПО на сервере. Попробуем временно отключить брандмауэр Windows, чтобы исключить блокировку портов (80 или 443).
В некоторых случаях, как показала практика, конфигурация IIS может накопительно содержать ошибки в метабазе данных. Если стандартные методы не помогают, рассмотрим вариант полной переустановки компонентов IIS через панель управления Windows «Включение или отключение компонентов». После переустановки и повторной публикации базы из Конфигуратора, права доступа и параметры пула приложений будут сброшены к рабочим значениям по умолчанию, что часто решает проблему магическим образом. Дополнительно для разбора скрытых нюансов работы веб-сервисов можно изучить руководство по устранению неочевидных проблем 1С под IIS.
Помните, что стабильность работы 1С через веб-сервис напрямую зависит от прозрачности прав доступа пользователя, под которым работает веб-сервер, к ресурсам файловой системы.