Почему в 1С 8.3 не работает HTTPS через прокси и как это исправить

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

При разработке на платформе 1С:Предприятие 8.3 программисты часто сталкиваются с задачей отображения внешнего контента во внутренних формах приложения. Для этого используется объект Поле HTML-документа. Однако в корпоративных сетях, где доступ в интернет жестко ограничен и осуществляется через прокси-сервер, возникает специфическая проблема: обычные http страницы загружаются корректно, а защищенные https ресурсы выдают ошибку или пустую страницу. При этом в логах прокси-сервера запросы по протоколу HTTPS могут попросту отсутствовать.

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

Различие механизмов сетевых запросов в 1С

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

  1. Объект HTTPСоединение: Этот программный механизм ориентируется на настройки, указанные в файле inetcfg.xml. Он используется для обмена данными с API, загрузки файлов и других фоновых задач.
  2. Поле HTML-документа: Этот визуальный компонент (особенно в тонком и толстом клиентах под Windows) чаще всего базируется на движке Internet Explorer (MSHTML) или, в новых версиях, на WebKit (Chromium). Это означает, что он может игнорировать настройки 1С и использовать системные параметры браузера.

Выясним причину: если HTTPСоединение через inetcfg.xml работает, а поле HTML — нет, значит, проблему нужно искать в настройках операционной системы или в том, как прокси идентифицирует запросы от браузерного движка 1С.

Шаг 1. Настройка конфигурационного файла inetcfg.xml

Первым делом проверим правильность заполнения файла inetcfg.xml. Этот файл должен располагаться в каталоге конфигурирования платформы (обычно это C:\Program Files\1cv8\conf). Проанализируем правильный синтаксис, так как платформа чувствительна к формату написания протоколов.

Попробуем явно разделить настройки для разных протоколов. Обратите внимание, что в поле host для HTTPS часто не нужно указывать префикс протокола:


<config xmlns="http://v8.1c.ru/8.2/iproxy/config">
  <proxy protocol="http" host="192.168.1.1" port="8080" />
  <proxy protocol="https" host="192.168.1.1" port="8080" />
</config>

Важный нюанс: Если прокси-сервер требует авторизации, убедитесь, что параметры пользователя указаны корректно. Однако помните, что хранение паролей в открытом виде в XML-файле небезопасно. Проанализируем ситуацию: если после появления этого файла http заработал, а https — нет, переходим к следующему этапу.

Шаг 2. Синхронизация WinHTTP и системных настроек прокси

Как мы уже выяснили, компоненты 1С могут использовать системные библиотеки Windows. Иногда настройки прокси прописаны в "Свойствах браузера" (WinInet), но системные службы (WinHTTP) о них не знают. Для корректной работы HTTPS в 1С рекомендуется выполнить принудительный импорт настроек.

Рассмотрим порядок действий:

  1. Откройте командную строку (cmd) от имени администратора.
  2. Выполните команду для копирования настроек из Internet Explorer в системную службу WinHTTP:

netsh winhttp import proxy source=ie

Это позволит платформе использовать те же параметры соединения, которые использует ваш основной браузер, что часто решает проблему "невидимости" прокси для HTTPS-трафика.

Шаг 3. Установка доверия к SSL-сертификатам

Одной из самых частых причин блокировки HTTPS является так называемая SSL Inspection (проверка зашифрованного трафика) на стороне корпоративного прокси. В этом случае прокси-сервер "подменяет" сертификат целевого сайта на свой собственный. Если 1С не доверяет этому сертификату, соединение будет разорвано без объяснения причин.

Разберем, как добавить сертификат в список доверенных для 1С:

  1. Экспортируйте корневой сертификат вашего прокси-сервера в формате .cer или .pem.
  2. Найдите файл cacert.pem в каталоге установленной платформы 1С (путь вида C:\Program Files\1cv8\8.3.X.XXXX\bin\conf).
  3. Откройте его текстовым редактором и добавьте содержимое вашего сертификата в конец файла.

Также обязательно убедитесь, что этот сертификат установлен в системное хранилище Windows "Доверенные корневые центры сертификации".

Шаг 4. Проверка User-Agent и настройки на стороне прокси

Проанализируем ситуацию со стороны сетевого администратора. Прокси-серверы часто фильтруют трафик по полю User-Agent. Когда 1С обращается к интернет-ресурсу, она представляется как 1CV8C (тонкий клиент) или 1CV8 (сервер). Многие прокси по умолчанию блокируют любые "неизвестные" приложения, разрешая доступ только стандартным браузерам вроде Chrome или Firefox.

Что нужно попросить сделать системных администраторов:

Шаг 5. Настройка протоколов TLS в операционной системе

Если ваш прокси-сервер или целевой сайт требуют использования современных протоколов защиты (например, TLS 1.2 или TLS 1.3), а в системе они отключены, HTTPS работать не будет. Поскольку Поле HTML-документа часто использует настройки Internet Explorer, проверим их:

  1. Зайдите в "Панель управления" — "Свойства браузера".
  2. Перейдите на вкладку "Дополнительно".
  3. Прокрутите список до раздела "Безопасность".
  4. Убедитесь, что установлены флажки напротив Использовать TLS 1.2.

Шаг 6. Особенности современных релизов (WebKit)

Начиная с версии 8.3.14, 1С позволяет использовать более современный движок для отображения HTML. Если вы используете режим WebKit, он может вести себя иначе, чем старый движок. В некоторых случаях помогает явное указание параметров запуска клиента 1С с ключами командной строки:

1cv8c.exe /Proxy -http -proxy=адрес_прокси:порт

Или, если используется тонкий клиент через веб-сервер, проверьте настройки публикации на самом веб-сервере (IIS или Apache), так как они тоже могут влиять на прохождение HTTPS-запросов.

Подведем итоги

Проблема с HTTPS в 1С через прокси почти всегда носит комплексный характер. Мы рассмотрели основные уровни диагностики: от простых настроек inetcfg.xml до сложных манипуляций с сертификатами и фильтрами User-Agent на сетевом оборудовании. Помните, что отсутствие запросов в логах прокси для HTTPS часто означает, что приложение "споткнулось" на этапе установления защищенного соединения (Handshake) еще до того, как был отправлен основной запрос. Проверка SSL-сертификатов и разрешений для 1CV8 на стороне прокси является ключом к решению в 90% случаев.

← На главную