Почему в 1С при работе через IIS не работают интернет-сервисы и как это исправить?

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

При настройке веб-сервера IIS для работы с базой данных 1С пользователи часто сталкиваются с ситуацией, когда сама конфигурация успешно открывается в браузере или тонком клиенте, однако встроенные интернет-сервисы (такие как 1С:Номенклатура, Интернет-мониторинг или автоматическое обновление) выдают ошибки подключения. Мы проанализируем причины этого поведения и разберем по шагам, как устранить данную проблему.

Выясним причину возникновения проблемы

Основная сложность заключается в специфике работы процесса w3wp.exe, который отвечает за выполнение кода 1С внутри IIS. По умолчанию пул приложений в IIS запускается от имени специальной виртуальной учетной записи ApplicationPoolIdentity. Эта запись обладает крайне ограниченными правами в операционной системе Windows. Когда 1С пытается обратиться к интернет-сервисам, системные компоненты (в частности, библиотека WinHTTP) требуют доступа к хранилищам сертификатов и сетевым настройкам текущего пользователя, которые недоступны для ApplicationPoolIdentity.

Ошибки вида «Удаленный узел не прошел проверку» или невозможность получения данных от update-api.1c.ru свидетельствуют о том, что процесс веб-сервера не имеет достаточных полномочий для выполнения криптографических операций, необходимых для установления защищенного HTTPS-соединения.

Разберем решение проблемы по шагам

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

  1. Откройте «Диспетчер служб IIS» (Internet Information Services Manager).
  2. В дереве соединений слева перейдите к разделу «Пулы приложений» (Application Pools).
  3. Найдите пул, который используется для вашей информационной базы (обычно это DefaultAppPool, если вы не создавали отдельный пул).
  4. Нажмите на него правой кнопкой мыши и выберите пункт «Дополнительные параметры» (Advanced Settings).
  5. В открывшемся окне найдите раздел «Модель процесса» (Process Model) и параметр «Удостоверение» (Identity).
  6. Нажмите на кнопку с многоточием рядом с полем ApplicationPoolIdentity.
  7. В окне выбора удостоверения выберите встроенную учетную запись LocalSystem.
  8. Нажмите «ОК» и перезапустите пул приложений.

После смены удостоверения на LocalSystem процесс w3wp.exe получит расширенные права доступа к системным ресурсам, что позволит компонентам 1С успешно выполнять запросы к серверам 1С через HTTPS.

Дополнительные рекомендации по настройке

Если смена удостоверения пула на LocalSystem не решила проблему, или если вы хотите применить более безопасный подход, рассмотрим дополнительные параметры, которые стоит проверить:

Загрузка профиля пользователя:

В тех же «Дополнительных параметрах» пула приложений обратите внимание на настройку Load User Profile. Установите для этого параметра значение True. Это позволит системе при запуске процесса подгружать профиль пользователя, что критически важно для доступа к пользовательским хранилищам сертификатов, если вы используете для работы пула не LocalSystem, а выделенную учетную запись.

Проверка антивирусного ПО:

Иногда современные антивирусы или корпоративные межсетевые экраны блокируют исходящие соединения от процесса w3wp.exe. Проверьте журналы вашего защитного ПО. Если вы видите блокировку запросов к доменам 1c.ru или 1c.com, добавьте процесс w3wp.exe в исключения.

Альтернативный вариант: использование Apache

Если ограничения безопасности или специфические требования архитектуры IIS на вашей версии Windows (особенно на клиентских ОС вроде Windows 10/11) не позволяют добиться стабильной работы сервисов, мы рекомендуем рассмотреть переход на веб-сервер Apache. Архитектура Apache предполагает работу с правами обычного пользователя или службы, что зачастую избавляет от конфликтов при взаимодействии с интернет-ресурсами 1С, так как процесс httpd.exe обладает более прозрачной моделью прав доступа.

При использовании Apache достаточно убедиться, что служба запущена под учетной записью с доступом в интернет, и при необходимости прописать настройки прокси-сервера в файле конфигурации httpd.conf, если ваша сеть использует прокси для выхода во внешнюю сеть.

Надеемся, что эти шаги помогут вам восстановить работу интернет-сервисов в вашей конфигурации!

← На главную