Многие пользователи и администраторы систем на базе 1С:Предприятие столкнулись с внезапным прекращением работы сервиса ЭДО и интернет-поддержки. Ошибка обычно проявляется в виде сообщения в строке состояния: «Не удалось подключиться к пользовательскому сайту по причине: При вызове веб-сервиса произошла ошибка. При создании описания сервиса произошла ошибка». В этой статье мы подробно разберем причины возникновения этой ситуации и рассмотрим пошаговые алгоритмы её решения.
Для начала выясним, почему стабильно работавшая система вдруг перестала проходить авторизацию. Основная проблема кроется в изменении механизмов безопасности и протоколов взаимодействия между локальными базами 1С и центральными серверами фирмы «1С». Рассмотрим ключевые факторы:
login.1c.ru, перешли на использование сертификатов, выданных Национальным удостоверяющим центром (НУЦ Минцифры). Если в операционной системе не установлены соответствующие корневые сертификаты, платформа 1С не может установить защищенное соединение.Самый надежный способ восстановить работу ЭДО — это обновление конфигурации «Управление торговлей» до релиза 10.3.79.1 или выше. В этом релизе разработчики полностью переработали механизмы авторизации. Разберем, что именно изменилось:
В новых версиях существенно изменен модуль ИнтернетПоддержкаПользователейСервер. Теперь вместо прямой попытки подключения к веб-сервису программа выполняет многоступенчатую проверку и использует обновленные заголовки HTTP-запросов. Если ваша база сильно кастомизирована и полное обновление невозможно, перейдем к рассмотрению частичного переноса кода.
Если нам необходимо оперативно восстановить работу без полного обновления конфигурации, мы можем прибегнуть к выборочному обновлению модулей. Рассмотрим этот процесс по шагам:
Найдем в конфигурации процедуру БилетНаСайтПоддержки(). Раньше многие специалисты использовали «костыль», заменяя домен login.1c.ru на login.1c.eu. Проанализируем, почему это работало: европейский шлюз некоторое время поддерживал старые протоколы и международные сертификаты. Однако сейчас этот метод перестал быть эффективным.
Нам потребуется перенести из релиза 10.3.79.1 следующую логику:
БилетНаСайтПоддержки().НастройкиПодключения.Примерно так выглядит структура вызова в новом механизме (упрощенно для понимания логики):
Функция ПолучитьБилетАвторизации(Логин, Пароль)
ПараметрыЗапроса = Новый Структура;
ПараметрыЗапроса.Вставить("ИмяПользователя", Логин);
ПараметрыЗапроса.Вставить("Пароль", Пароль);
// В новом релизе используется другой Endpoint
АдресСервиса = "https://login.1c.ru/api/v1/ticket";
Результат = ВыполнитьHTTPЗапросНаСервер(АдресСервиса, ПараметрыЗапроса);
Возврат Результат;
КонецФункции
Обратите внимание, что в старых версиях использовалось прямое обращение к WSПрокси, а теперь акцент смещен в сторону HTTPСоединение с передачей токенов в заголовках.
Даже если программный код верен, платформа может выдать ошибку на уровне протокола HTTPS. Разберем, как подготовить серверную среду. Нам необходимо установить корневые сертификаты Минцифры в хранилище операционной системы, под которой работает служба 1С:Предприятие.
Проанализируем последовательность действий:
certlm.msc (сертификаты локального компьютера).Важный момент: если ваша платформа 1С использует собственный файл сертификатов (обычно это cacert.pem в папке bin платформы), вам может потребоваться обновить и его, либо прописать путь к системному хранилищу в файле conf.cfg.
Выясним, влияет ли версия платформы на работу ЭДО. В сообщениях форума упоминается платформа 8.3.22.1704. Это современная версия, которая поддерживает протоколы TLS 1.2 и 1.3. Однако, если вы используете устаревшие операционные системы (например, Windows Server 2012 или 2008), они могут не поддерживать нужные алгоритмы шифрования по умолчанию.
Проверьте следующие настройки в реестре Windows для включения TLS 1.2:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client]
"DisabledByDefault"=dword:00000000
"Enabled"=dword:00000001
После внесения изменений в реестр обязательна перезагрузка сервера.
Для восстановления работоспособности ЭДО в УТ 10.3 мы рекомендуем придерживаться следующего плана:
login.1c.ru.Ctrl+Shift+F) по строке login.1c.ru и проанализируйте процедуры в модулях интернет-поддержки. Замена кода на актуальный из последних библиотек БИП (Библиотека интернет-поддержки) — трудоемкий, но эффективный путь.Помните, что использование login.1c.eu является лишь временной мерой и не гарантирует стабильной работы в будущем, так как инфраструктура 1С ориентирована на использование российских узлов авторизации с соответствующим шифрованием.