diadocsdk-1c-docs
diadocsdk-1c-docs copied to clipboard
Проблема соединения 5.54.0.1016 (com x64) через Proxy
Добрый день, в продолжение: https://github.com/diadoc/diadocsdk-1c-docs/issues/1117#issue-2829329901 Удалось получить некоторые подробности ошибки WIN32[0x00002EE2] через Proxy.
Подняли свой Proxy, из логов получили информацию вида:
-;0;"CONNECT diadoc-api.kontur.ru:443 HTTP/1.1";Send bytes-0;10.0.3.3;[07/03/2025:00:02:08 +0400];00004;PROXY/0.0.0.0:0 -;0;"CONNECT diadoc-api.kontur.ru:443 HTTP/1.1";Send bytes-0;10.0.3.3;[07/03/2025:00:02:08 +0400];00004;PROXY/0.0.0.0:0 -;0;"CONNECT diadoc-api.kontur.ru:443 HTTP/1.1";Send bytes-0;10.0.3.3;[07/03/2025:00:02:08 +0400];00004;PROXY/0.0.0.0:0 -;0;"CONNECT diadoc-api.kontur.ru:443 HTTP/1.1";Send bytes-0;10.0.3.3;[07/03/2025:00:02:08 +0400];00004;PROXY/0.0.0.0:0 -;0;"CONNECT diadoc-api.kontur.ru:443 HTTP/1.1";Send bytes-0;10.50.0.37;[07/03/2025:00:02:08 +0400];00004;PROXY/0.0.0.0:0 -;0;"CONNECT diadoc-api.kontur.ru:443 HTTP/1.1";Send bytes-0;10.0.3.3;[07/03/2025:00:02:08 +0400];00004;PROXY/0.0.0.0:0 -;0;"CONNECT diadoc-api.kontur.ru:443 HTTP/1.1";Send bytes-0;10.0.3.3;[07/03/2025:00:02:09 +0400];00004;PROXY/0.0.0.0:0 proxy_BL_ALG;122363;"CONNECT diadoc-api.kontur.ru:443 HTTP/1.1";Send bytes-15546;10.50.0.36;[07/03/2025:00:02:09 +0400];00000;PROXY/46.17.206.14:443 proxy_BL_ALG;12114;"CONNECT diadoc-api.kontur.ru:443 HTTP/1.1";Send bytes-941;10.50.0.36;[07/03/2025:00:02:09 +0400];00000;PROXY/46.17.206.14:443 proxy_BL_ALG;454070;"CONNECT diadoc-api.kontur.ru:443 HTTP/1.1";Send bytes-16386;10.0.3.3;[07/03/2025:00:02:09 +0400];00000;PROXY/46.17.206.14:443 proxy_BL_ALG;5005;"CONNECT diadoc-api.kontur.ru:443 HTTP/1.1";Send bytes-948;10.50.0.36;[07/03/2025:00:02:10 +0400];00000;PROXY/46.17.206.14:443
Т.е. в параметрах соединения через Proxy, указываем адрес, логин, пароль и часть соединений проходит (например, "proxy_BL_ALG;12114;"CONNECT diadoc-api.kontur.ru:443 HTTP/1.1";Send bytes-941"), а часть нет (например, -;0;"CONNECT diadoc-api.kontur.ru:443 HTTP/1.1";Send bytes-0).
Получается, часть соединений от компоненты обращается без логина-пароля (или они сбрасываются), судя по всему по ним и возвращается ошибка WIN32[0x00002EE2].
Что-то с авторизацией и установкой соединений при подключении через компоненты через Proxy. Подтверждается это тем, что убрав на прокси авторизацию и указывая в параметрах соединения только адрес, без логина-пароля, получили корректную установку всех соединений, без ошибок.
Добрый день, @dimok22prog1
Можете добавить расшифровки к логам. насколько вижу, каждая строчка состоит из 7 разделов, но не сосем понимаю что некоторые из разделов значат:
-илиproxy_BL_ALG- ???0или122363/12114/454070/5005- ???- "CONNECT diadoc-api.kontur.ru:443 HTTP/1.1" - адрес соединения
Send bytes-0илиSend bytes-15546/... - размер запроса пришедшего на прокси?- IP-адрес клиента
- Метка времени запрос
PROXY/0.0.0.0:0илиPROXY/46.17.206.14:443- ???
Что прокси отвечает в случаях -;0;"CONNECT diadoc-api.kontur.ru:443 HTTP/1.1";Send bytes-0;10.0.3.3;[07/03/2025:00:02:08 +0400];00004;PROXY/0.0.0.0:0
Ещё интересно, что по логу получается, что с адреса 10.0.3.3 приходили запросы
-;0;"CONNECT diadoc-api.kontur.ru:443 HTTP/1.1";Send bytes-0;10.0.3.3;[07/03/2025:00:02:08 +0400];00004;PROXY/0.0.0.0:0
-;0;"CONNECT diadoc-api.kontur.ru:443 HTTP/1.1";Send bytes-0;10.0.3.3;[07/03/2025:00:02:08 +0400];00004;PROXY/0.0.0.0:0
-;0;"CONNECT diadoc-api.kontur.ru:443 HTTP/1.1";Send bytes-0;10.0.3.3;[07/03/2025:00:02:08 +0400];00004;PROXY/0.0.0.0:0
-;0;"CONNECT diadoc-api.kontur.ru:443 HTTP/1.1";Send bytes-0;10.0.3.3;[07/03/2025:00:02:08 +0400];00004;PROXY/0.0.0.0:0
-;0;"CONNECT diadoc-api.kontur.ru:443 HTTP/1.1";Send bytes-0;10.0.3.3;[07/03/2025:00:02:08 +0400];00004;PROXY/0.0.0.0:0
-;0;"CONNECT diadoc-api.kontur.ru:443 HTTP/1.1";Send bytes-0;10.0.3.3;[07/03/2025:00:02:09 +0400];00004;PROXY/0.0.0.0:0
proxy_BL_ALG;454070;"CONNECT diadoc-api.kontur.ru:443 HTTP/1.1";Send bytes-16386;10.0.3.3;[07/03/2025:00:02:09 +0400];00000;PROXY/46.17.206.14:443
Авторизация без логина/пароля несколько раз, а потом логин-пароль приходят. Что в этот момент происходило на клиенте? Несколько потоков или один клиент-один поток? Могло ли несколько вызовов компоненты быть?
До первого -;0;"CONNECT diadoc-api.kontur.ru:443 HTTP/1.1";Send bytes-0;10.0.3.3;[07/03/2025:00:02:08 +0400];00004;PROXY/0.0.0.0:0 что-то с этого клиента приходило?
По формату лога
-
- или proxy_BL_ALG - ??? это имя пользователя (когда авторизуемся по логину-паролю)
- 0 или 122363/12114/454070/5005 - ??? количество полученных байт
- "CONNECT diadoc-api.kontur.ru:443 HTTP/1.1" - адрес соединения
- Send bytes-0 или Send bytes-15546/... - размер запроса пришедшего на прокси? – количество байт прошедшего через прокси
- IP-адрес клиента
- Метка времени запрос
- PROXY/0.0.0.0:0 или PROXY/46.17.206.14:443 - ??? – вид прокси/IP запроса:порт
logformat "L%U;%I;""%T"";Send bytes-%O;%C;[%d/%m/%Y:%H:%M:%S %z];%E;%N/%R:%r" %U - Имя пользователя ('-', если отсутствует). %I - Принято байт от сервера %T – Текст, специфичный для прокси сервиса (например, запрошенный URL). %O - Отправлено байт на сервер %C - IP клиента [%d/%m/%Y:%H:%M:%S %z]; - формат текущего времени %E - Код ошибки (см ниже) %N - Название прокси сервиса (PROXY, SOCKS, POP3P, и т.д.) %R - IP сервера (исходящего соединения по запросу клиента) %r - Порт сервера (исходящего соединения по запросу клиента)
Коды ошибок в журнале • 0 - операция завершена успешно (в случае установленного соединения - соединение закрыто корректно одной из сторон). • 1-9 - ошибки авторизации • 1 - доступ закрыт ACL (deny) • 2 - перенаправление (не должно быть в журнале) • 3 - нет записи ACL для данного соединения • 4 - не определено имя пользователя для auth strong • 5 - не найдено имя пользователя для auth strong • 6 - неверный пароль (открытый текст) • 7 - неверный пароль (crypt) • 8 - неверный пароль (NT) • 9 - недостаточно данных для перенаправления (не должно быть в журнале) • 10 - превышен лимит трафика • 11-19 - ошибки соединения • 11 - невозможно создать сокет socket() • 12 - невозможно выбрать интерфейс bind() • 13 - сбой подключения connect() • 14 - сбой getpeername() • 20-29 - общие ошибки • 21 - ошибка выделения памяти • 30-39 - ошибки перенаправления CONNECT • 31 - невозможно послать запрос к CONNECT прокси • 32 - превышено ожидание или некорректный ответ CONNECT прокси • 33 - CONNECT прокси не может установить соединение • 34 - превышено ожидание или обрыв соединения при согласовании CONNECT соединения • 40-49 - ошибки перенаправления SOCKS4 • 50-69 - ошибки перенаправления SOCKS5 • 70-79 ошибки установки родительского соединения, аналогичны 1x • 90-99 - ошибки разрыва соединения
Что прокси отвечает в случаях -;0;"CONNECT diadoc-api.kontur.ru:443 HTTP/1.1";Send bytes-0;10.0.3.3;[07/03/2025:00:02:08 +0400];00004;PROXY/0.0.0.0:0 Не могу сказать, возможно, возвращает ошибку
Авторизация без логина/пароля несколько раз, а потом логин-пароль приходят.
Да, но очень часто не проходит.
Что в этот момент происходило на клиенте?
Предположительно ошибка WIN32[0x00002EE2].
Несколько потоков или один клиент-один поток?
Несколько (много потоков).
Могло ли несколько вызовов компоненты быть?
Однозначно несколько (много) вызовов.
До первого -;0;"CONNECT diadoc-api.kontur.ru:443 HTTP/1.1";Send bytes-0;10.0.3.3;[07/03/2025:00:02:08 >>+0400];00004;PROXY/0.0.0.0:0 что-то с этого клиента приходило?
Скорее всего из "одного из" потока проходит, а из параллельных (новых) нет.