diadocsdk-1c-docs icon indicating copy to clipboard operation
diadocsdk-1c-docs copied to clipboard

Проблема соединения 5.54.0.1016 (com x64) через Proxy

Open dimok22prog1 opened this issue 8 months ago • 3 comments

Добрый день, в продолжение: 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 avatar Mar 10 '25 06:03 dimok22prog1

Добрый день, @dimok22prog1

Можете добавить расшифровки к логам. насколько вижу, каждая строчка состоит из 7 разделов, но не сосем понимаю что некоторые из разделов значат:

  1. - или proxy_BL_ALG - ???
  2. 0 или 122363/12114/454070/5005 - ???
  3. "CONNECT diadoc-api.kontur.ru:443 HTTP/1.1" - адрес соединения
  4. Send bytes-0 или Send bytes-15546/... - размер запроса пришедшего на прокси?
  5. IP-адрес клиента
  6. Метка времени запрос
  7. 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

GilimkhanovDenis avatar Mar 10 '25 06:03 GilimkhanovDenis

Ещё интересно, что по логу получается, что с адреса 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 что-то с этого клиента приходило?

GilimkhanovDenis avatar Mar 10 '25 06:03 GilimkhanovDenis

По формату лога

    • или proxy_BL_ALG - ??? это имя пользователя (когда авторизуемся по логину-паролю)
  1. 0 или 122363/12114/454070/5005 - ??? количество полученных байт
  2. "CONNECT diadoc-api.kontur.ru:443 HTTP/1.1" - адрес соединения
  3. Send bytes-0 или Send bytes-15546/... - размер запроса пришедшего на прокси? – количество байт прошедшего через прокси
  4. IP-адрес клиента
  5. Метка времени запрос
  6. 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 что-то с этого клиента приходило?

Скорее всего из "одного из" потока проходит, а из параллельных (новых) нет.

dimok22prog1 avatar Mar 10 '25 13:03 dimok22prog1

Добрый день

Попробуйте на 5.55.0

GilimkhanovDenis avatar May 22 '25 08:05 GilimkhanovDenis