Многие специалисты и пользователи программных продуктов 1С сталкиваются с неприятной ситуацией: при попытке скачать дистрибутивы обновлений с официального сайта releases.1c.ru браузер выдает ошибку ERR_INVALID_RESPONSE (или её аналог ERR_EMPTY_RESPONSE). При этом новые релизы скачиваются без каких-либо затруднений, а активная подписка 1С:ИТС присутствует. Ниже мы детально разберем, почему возникает данная проблема, и рассмотрим практические способы её решения.
Проанализируем архитектуру отдачи файлов на портале 1С. Когда мы инициируем скачивание дистрибутива, основной сайт перенаправляет запрос на специализированные файловые серверы хранения («зеркала»), такие как dl03.1c.ru, dl04.1c.ru и другие. Ошибка ERR_INVALID_RESPONSE при загрузке именно архивных (старых) релизов возникает по следующим причинам:
Content-Disposition может отправляться конечному пользователю дважды. Браузеры на движке Chromium (Google Chrome, Яндекс.Браузер, Microsoft Edge, Opera) блокируют подобные сессии в целях защиты от атак класса HTTP Response Splitting.Самый простой и надежный способ обойти ограничения браузера — использовать встроенный в платформу «1С:Предприятие» механизм автоматического обновления. В отличие от веб-браузеров, платформа 1С отправляет прямые низкоуровневые HTTP-запросы. Она игнорирует дублирующиеся заголовки и напрямую забирает поток байтов файла, что позволяет успешно загрузить пакет обновлений.
Рассмотрим по шагам, как настроить и запустить скачивание обновлений из конфигурации:
Если мы разрабатываем собственный инструмент или нам требуется программно обратиться к API портала обновлений, мы можем использовать следующий пример кода на встроенном языке 1С:
// Пример программного HTTP-запроса для скачивания файлов обновлений
ПараметрыСоединения = Новый HTTPСоединение("releases.1c.ru", 443,,,,, Новый ЗащищенноеСоединениеOpenSSL());
ЗапросСкачивания = Новый HTTPЗапрос("/download/files/trade11/11_5_12_73.zip");
ЗапросСкачивания.Заголовки.Вставить("Authorization", "Basic " + КодироватьСтрокуВBase64(ЛогинИТС + ":" + ПарольИТС));
Попытка
ОтветСервера = ПараметрыСоединения.Получить(ЗапросСкачивания, "C:\Distributives\update_11_5_12_73.zip");
Если ОтветСервера.КодСостояния = 200 Тогда
ЗаписатьЛогСобытий("Файл обновления успешно загружен.");
Иначе
ВызватьИсключение "Ошибка сервера 1С: Код " + ОтветСервера.КодСостояния;
КонецЕсли;
Исключение
ЗаписатьЛогСобытий("Не удалось скачать обновление: " + ОписаниеОшибки());
КонецПопытки;
Если нам обязательно нужно получить физический дистрибутив (например, для установки на сервере без доступа к интернету) именно через браузер, проанализируем поведение альтернативных веб-обозревателей.
Поскольку блокировка некорректных заголовков встроена в движок Chromium, нам следует использовать браузеры на других движках:
Content-Disposition и успешно скачает архивный релиз.Системные администраторы могут автоматизировать процесс скачивания и полностью обойти ограничения безопасности браузеров с помощью специализированных утилит. Утилиты командной строки, такие как curl или wget, отправляют чистые HTTP-запросы и не выполняют строгую валидацию заголовков безопасности, которая свойственна современным браузерам.
Рассмотрим пример использования утилиты curl для скачивания дистрибутива:
# Скачивание файла с игнорированием ошибок в заголовках веб-сервера 1С
curl -L -o platform_8_3_22.rar "https://dl03.1c.ru/download/files/platform/8_3_22_1709.rar" --user "ВашЛогинИТС:ВашПарольИТС"
Также можно использовать графические менеджеры загрузок (например, Free Download Manager). Для этого щелкнем правой кнопкой мыши по кнопке скачивания дистрибутива на сайте 1С, выберем пункт Копировать адрес ссылки, вставим скопированный URL-адрес в менеджер закачек и запустим скачивание.
В периоды проведения масштабных технических работ на стороне портала 1С или при возникновении критических сбоев, техническая поддержка часто запускает облегченные резервные ресурсы.
Например, для прямого скачивания дистрибутивов технологической платформы без прохождения сложных проверок может использоваться облегченный ресурс info83.1c.ru. Проанализируйте доступность этого адреса в случае невозможности зайти на основной портал.
Применяя указанные методы, мы гарантированно решим проблему с получением необходимых файлов обновлений для стабильной работы информационных систем.