Интернет в 1С:Предприятии 8.3: от проверки порта 443 до HTTP-запросов из кода
Содержание
Чтобы подключить 1С:Предприятие 8.3 к интернету, нужны три вещи: исходящий доступ с компьютера (или сервера 1С) к узлам фирмы 1С по порту 443, правильно указанный прокси-сервер, если он есть в сети, и подключённая интернет-поддержка с логином и паролем портала 1С:ИТС. В типовых конфигурациях на БСП (Бухгалтерия 3.0, ЗУП 3.1, УТ 11) всё настраивается в разделе Администрирование → Интернет-поддержка и сервисы.
Способ зависит от того, как работает база. В файловом варианте в интернет ходит компьютер пользователя, и обычно хватает системных настроек Windows. В клиент-серверном варианте почти все обращения к сервисам выполняет сервер 1С под своей служебной учётной записью — и там прокси, брандмауэр и сертификаты настраивают отдельно. Третий случай — когда нужно не «1С в интернет», а «база из интернета»: тогда речь о VPN, публикации на веб-сервере или RDP.
Сеть до 1С: что проверить на компьютере и сервере
Начинайте не с настроек программы, а с сети. Если с машины не открывается порт 443 на серверах 1С, никакие галочки в базе не помогут.
Что проверить по порядку:
- 🌐 Открывается ли браузер с этого же компьютера. Зайдите на
https://portal.1c.ru. Не открывается — проблема в сети или прокси, не в 1С. - 🕐 Дата и время. Если часы отстают на сутки, защищённое соединение не установится: сертификат сервера покажется недействительным.
- 🔌 Порт 443 до нужного узла.
pingздесь мало что скажет: ICMP часто закрыт, а HTTPS при этом работает. - 🛡 Антивирус и межсетевой экран. Модули «проверки защищённых соединений» подменяют сертификаты сайтов своим, и 1С может ему не доверять.
- 📡 DNS. Имя
login.1c.ruдолжно превращаться в адрес.
Проверка порта и DNS из PowerShell:
nslookup login.1c.ru
Test-NetConnection login.1c.ru -Port 443
Test-NetConnection portal.1c.ru -Port 443
В результате Test-NetConnection смотрите строку TcpTestSucceeded. Значение True — порт доступен. False при работающем DNS означает, что соединение режет брандмауэр или обязательный прокси.
На Windows 10/11 и Windows Server 2019 и новее есть встроенный curl.exe. Команда curl -I https://login.1c.ru сразу покажет и доступность, и проблемы с сертификатом.
Если в организации доступ в интернет открыт только по белому списку, попросите администратора сети разрешить исходящий HTTPS к доменам фирмы 1С. Минимальный набор для интернет-поддержки и обновлений — login.1c.ru, portal.1c.ru, update-api.1c.ru, releases.1c.ru. Для отдельных сервисов (1С-Отчетность, 1С:ЭДО, 1СПАРК Риски, курсы валют) нужны свои адреса — их перечень даёт поставщик конкретного сервиса. Проще разрешить весь домен *.1c.ru.
Интернет-поддержка в программе и что умеет конфигуратор
Когда сеть в порядке, подключите интернет-поддержку в самой базе:
- Откройте
Администрирование → Интернет-поддержка и сервисы. - Нажмите ссылку подключения интернет-поддержки.
- Введите логин и пароль от портала 1С:ИТС (тот же, что для
portal.1c.ru). - Нажмите «Войти». В разделе появится имя пользователя и статус подключения.
После этого в базе начинают работать загрузка курсов валют и классификаторов, проверка контрагентов, обновление регламентированных отчётов, автоматическая проверка и загрузка обновлений программы. Если логина ещё нет, его регистрируют на портале — для получения обновлений нужен действующий договор ИТС или подписка на сервисы.
Логин портала — не учётная запись пользователя базы. Ошибка «неверный логин или пароль» здесь значит неверные данные именно от портала, сбросьте пароль на login.1c.ru.
Конфигуратор и интернет
Конфигуратор сам по себе в интернет почти не ходит. Сеть ему нужна в трёх случаях:
| Задача | Что требуется |
|---|---|
| Хранилище конфигурации через веб-сервер | Адрес вида http://server/repo/repo.1ccr, открытый порт веб-сервера |
| Отладка по протоколу HTTP | Доступ до сервера отладки (dbgs) по его порту |
| Обновление конфигурации | Файлы обновления (.cfu, .cf) скачивают заранее с портала или через пользовательский режим |
Встроенный поиск обновлений в конфигураторе смотрит каталог шаблонов на диске, а не сайт 1С. Поэтому типовая схема такая: обновление скачивает сама программа в режиме 1С:Предприятие (из раздела Администрирование) или администратор с портала releases.1c.ru, а конфигуратор только применяет файл.
Прокси-сервер: где его указывают в 1С
Если в сети стоит прокси, у 1С есть свои параметры — они не всегда совпадают с настройками браузера. В типовых конфигурациях форма параметров прокси открывается из раздела Администрирование → Интернет-поддержка и сервисы или из окна ошибки подключения.
Варианты в форме:
| Режим | Когда выбирать |
|---|---|
| Не использовать прокси-сервер | Прямой выход в интернет, прокси в сети нет |
| Использовать системные настройки | Прокси прописан в Windows и пользователи работают в файловой базе |
| Использовать другие настройки | Нужно указать адрес, порт и, при необходимости, логин и пароль явно |
При ручной настройке заполняют:
- Адрес прокси — имя или IP, например
proxy.local. - Порт — часто
3128или8080, точное значение даёт администратор сети. - Логин и пароль, если прокси требует авторизации.
- Флажок «не использовать прокси для локальных адресов» — чтобы обращения к серверу 1С и сетевым папкам шли напрямую.
- Список исключений — адреса внутренних веб-сервисов, которые доступны без прокси.
Прокси с авторизацией Kerberos/NTLM от имени текущего пользователя Windows работает не во всех сценариях. Если доменная авторизация не проходит, попросите администратора выделить для 1С отдельную учётную запись на прокси или правило без авторизации для *.1c.ru.
Автоматические сценарии настройки прокси (.pac-файл, WPAD) 1С поддерживает хуже, чем браузеры. Если в Windows настроен только сценарий, укажите прокси явно — так надёжнее.
Клиент-серверный вариант: интернет нужен серверу 1С
Здесь чаще всего ломается подключение 1С к интернету. Пользователь видит, что браузер на его компьютере работает, а 1С пишет Couldn't connect to server. Причина в том, что запрос к сервису уходит не с его компьютера.
Как это устроено:
- 🖥 Клиент подключается к агенту сервера 1С (порт
1540), затем к менеджеру кластера (1541) и рабочим процессам — их диапазон портов, обычно1560:1591, задают в свойствах рабочего сервера. - 🌍 Интернет-поддержка, загрузка курсов, обмен с сервисами выполняются в серверном коде, то есть в рабочем процессе
rphost. - 👤 Рабочий процесс работает от имени учётной записи службы сервера 1С — по умолчанию
USR1CV8или та, что указали при установке.
Отсюда три правила:
- Проверяйте сеть с сервера 1С, а не с рабочего места. Команды
Test-NetConnectionиз первого раздела запустите на самом сервере. - Прокси для сервера указывают отдельно. В типовых конфигурациях в клиент-серверном режиме в разделе
Администрирование → Интернет-поддержка и сервисыесть отдельная настройка прокси-сервера на сервере 1С:Предприятия. Системные настройки прокси пользователя Windows на сервер не распространяются: у служебной учётной записи их нет. - Брандмауэр сервера должен выпускать исходящий HTTPS для процесса
rphost.exeили для всей машины.
Для Linux-сервера 1С логика та же: соединение устанавливает рабочий процесс под пользователем usr1cv8, и проверять доступ надо от этого пользователя, например sudo -u usr1cv8 curl -I https://login.1c.ru.
Если для применения новых настроек администратор решит перезапустить службу сервера 1С, у всех пользователей оборвутся сеансы и пропадут несохранённые данные. Перезапуск делают вне рабочего времени и предупреждают людей заранее. Настройки прокси в самой базе перезапуска не требуют.
Ещё один источник отказа — безопасный режим и профили безопасности. Расширения конфигурации и внешние обработки, работающие в безопасном режиме, не могут обращаться к интернет-ресурсам, пока администратор не разрешит это в профиле безопасности кластера. Если типовой функционал работает, а внешняя обработка выдаёт ошибку доступа — смотрите сюда.
Доступ к базе 1С из интернета
Иногда «подключить 1С к интернету» означает другое: работать с базой из дома или из филиала. Здесь выбирают между несколькими схемами.
| Способ | Когда подходит | Риски и ограничения |
|---|---|---|
| VPN до офиса | Есть администратор и роутер с поддержкой VPN | Медленно для файловой базы: сетевая папка по VPN работает плохо |
| Удалённый рабочий стол (RDP, RemoteApp) | Файловая база, мало пользователей, слабый интернет | Нужны лицензии на терминальные подключения Windows Server |
| Публикация базы на веб-сервере | Работа через браузер или тонкий клиент по HTTP | Нужны Apache или IIS, сертификат и настройка HTTPS |
| Облачная 1С (1С:Фреш, аренда у партнёра) | Нет своего сервера и админа | Ежемесячная плата, ограничения на доработки |
Публикацию делают из конфигуратора: Администрирование → Публикация на веб-сервере. Конфигуратор нужно запустить от имени администратора Windows, на машине должен стоять веб-сервер и модули расширения веб-сервера из дистрибутива платформы. После публикации база открывается по адресу вида https://server.example.ru/buh/, а в тонком клиенте её добавляют как базу «на веб-сервере».
Не открывайте в интернет порты 1540, 1541 и диапазон рабочих процессов напрямую. Протокол сервера 1С не рассчитан на работу в открытой сети. Снаружи оставляйте только VPN или HTTPS на веб-сервер, а файловую базу никогда не размещайте в открытой сетевой папке.
Для веб-публикации обязательно используйте HTTPS с действительным сертификатом. Через голый HTTP логины и пароли пользователей 1С уходят по сети открытым текстом.
HTTPСоединение: обращение к интернету из кода
Разработчику, который пишет обмен с сайтом, маркетплейсом или API банка, понадобятся объекты HTTPСоединение, HTTPЗапрос, ИнтернетПрокси и ЗащищенноеСоединениеOpenSSL. Пример GET-запроса с системным прокси и проверкой сертификата по хранилищу Windows:
&НаСервереБезКонтекста
Функция ПолучитьСтатусСервиса()
ЗащищенноеСоединение = Новый ЗащищенноеСоединениеOpenSSL(,
Новый СертификатыУдостоверяющихЦентровОС);
Прокси = Новый ИнтернетПрокси(Истина); // системные настройки
Соединение = Новый HTTPСоединение("api.example.ru", 443, , ,
Прокси, 30, ЗащищенноеСоединение);
Запрос = Новый HTTPЗапрос("/v1/status");
Запрос.Заголовки.Вставить("Accept", "application/json");
Ответ = Соединение.Получить(Запрос);
Если Ответ.КодСостояния <> 200 Тогда
ВызватьИсключение СтрШаблон("Сервис вернул код %1",
Формат(Ответ.КодСостояния, "ЧГ=0"));
КонецЕсли;
Возврат Ответ.ПолучитьТелоКакСтроку();
КонецФункции
Что здесь важно:
- 🔐
СертификатыУдостоверяющихЦентровОСберёт корневые сертификаты из хранилища операционной системы. Если антивирус или шлюз организации подменяет сертификаты, достаточно установить корневой сертификат шлюза в хранилище Windows на сервере. - ⏱ Шестой параметр — таймаут в секундах. Без него зависший сервис держит сеанс пользователя очень долго.
- 🧭 Код выполняется
&НаСервере— значит, в клиент-серверной базе он идёт с сервера 1С со всеми правилами из предыдущего раздела.
Явный прокси задают так:
Прокси = Новый ИнтернетПрокси;
Прокси.Установить("https", "proxy.local", 3128, "user1c", "Пароль");
Прокси.НеИспользоватьПроксиДляЛокальныхАдресов = Истина;
В типовых конфигурациях не хардкодьте прокси в коде: БСП хранит параметры, которые администратор задал в форме настроек, и отдаёт их через общий модуль ПолучениеФайловИзИнтернета. Так ваш обмен будет работать с теми же настройками, что и интернет-поддержка. Логины и пароли к внешним API держите в безопасном хранилище данных, а не в константах.
Ошибки соединения: тексты и что с ними делать
Платформа передаёт пользователю сообщения сетевой библиотеки почти дословно, поэтому тексты ошибок на английском. По ним легко понять, на каком этапе оборвалась связь.
Если не помогло
- Сравните поведение файловой копии базы на рабочем месте и рабочей базы на сервере. Копия подключается, сервер нет — проблема точно в сети сервера или учётной записи службы.
- Включите технологический журнал на сервере 1С с событием
EXCPи посмотрите полный текст исключения: там видно адрес и этап, на котором разорвалось соединение. - Убедитесь, что платформа достаточно свежая. На старых сборках 8.3 бывают проблемы с современными наборами шифров TLS, и обновление платформы до номера не ниже рекомендованного для вашего релиза конфигурации снимает ошибку.