Top.Mail.Ru
Ответы

Терминальная ферма не работает через haproxy

Всем привет.

Столкнулись с проблемой.

Имеется терминальная ферма rdstcm.com работающая через публикацию на WAP

Схема такая:

Пользователь заходит по ссылке rdstcm.com с скачивает опубликованный ярлык.

Затем маршрут идет через сервер WAP –> сервер RDG –> RDC –> RDS (на нем непосредственно установлено ПО).

Все сервера находятся под управлением windows server 2016.

На сервере WAP  расположена публикация которая направляет трафик на сервер RDG по 443 порту.

Далее нам нужно было уйти от WAP  и перейти на HaProxy балансировщик под управлением РЕД ОС (Unix).

На сервере HaProxy настроили аналогичную публикацию и направили ее на RDG.

Web форма у нас открывается и ярлык скачивается.

Проблема происходит после запуска ярлыка и ввода пароля. Сразу после ввода пароля появляется ошибка:

В логах RDG такое сообщение:

The user "vvlzaychenko@inter", on client computer "XX.XXX.XXX.212:45912", has initiated an outbound connection. This connection may not be authenticated yet.

В логах клиента откуда проходит подключение следующие сообщения:

Выполняется подключение RDP ClientActiveX к серверу (RDCTCM.COM)

Имя компонента:CClientProxyTransport, :: 'Gateway servers list - Server(RDCTCM.COM) is 1 of 1 ' in CProxyRawTrans::SetPortAndTs at 2255 err=[0x0]

Имя компонента:CClientProxyTransport, :: 'CClientHTTPProxyTransport::GetTransportType() transportType=1' in CClientHTTPProxyTransport::Connect at 1066 err=[0x0]

Имя компонента:CClientProxyTransport, :: 'm_ClientAdapter->CreateTunnel failed' in CProxyRawTrans::CreateProxyConnection at 2138 err=[0x800759d9], код ошибки:0x800759D9

Имя компонента:CClientProxyTransport, :: 'm_ClientAdapter->CreateTunnel failed' in CProxyRawTrans::CreateProxyConnection at 2138 err=[0x800759d9], код ошибки:0x800759D9

Имя компонента:CClientProxyTransport, :: 'CreateConnection failed' in CClientHTTPProxyTransport::Connect at 1107 err=[0x800759d9], код ошибки:0x800759D9

Имя компонента:CClientProxyTransport, :: 'Gateway Error' in CClientProxyTransport::SetErrorStatus at 2853 err=[0x800759d9], код ошибки:0x800759D9

Трассировка отключения:CClientProxyTransport "Disconnect trace:'Gateway connection disconnected.' in CClientHTTPProxyTransport::OnDisconnected at 687 err=[0x1a]", код ошибки:0x1A

Имя компонента:CClientProxyTransport, :: 'Terminating Gateway's channel. CurrentState=1' in CProxyRawTrans::Terminate at 1761 err=[0x0]

Отключение RDP ClientActiveX (Причина= 50331674)

Имя компонента:CClientProxyTransport, :: 'Gateway servers list - Server(RDCTCM.COM) is 1 of 1 ' in CProxyRawTrans::SetPortAndTs at 2255 err=[0x0]

Имя компонента:CClientProxyTransport, :: 'CClientHTTPProxyTransport::GetTransportType() transportType=1' in CClientHTTPProxyTransport::Connect at 1066 err=[0x0]

Имя компонента:CAAHttpClientTunnel, :: 'Workspace ID was obtained, but it is not formatted as a GUID (RDCTCM.COM)' in CAAHttpClientTunnel::ObtainWorkspaceId at 3766 err=[0x0], код ошибки:0x0

Имя компонента:CAAHttpClientRawTransport, :: 'CAAHttpClientRawTransport::InitializeInstance' in CAAHttpClientRawTransport::InitializeInstance at 288 err=[0x0], код ошибки:0x0

RDPClient_Gateway: произошла ошибка при переходе из AAStateCreatingOutChannel в AAStateError в ответ на AAEventOutChannelSendRequestFailed. (Код ошибки: 0x800706BA).

Имя компонента:CAAHttpClientTunnel, :: 'connect failed' in CAAHttpClientTunnel::OnConnected at 1146 err=[0x800706ba], код ошибки:0x800706BA

RDPClient_Gateway: произошла ошибка при переходе из AAStateInitializingTunnel в AAStateError в ответ на AAEventTunnelOnConnectedFailed. (Код ошибки: 0x800706BA).

Трассировка отключения:CProxyRawTrans "Disconnect trace:'OnTunnelCreated' in CProxyRawTrans::OnTunnelCreated at 685 err=[0x800706ba]", код ошибки:0x800706BA

Имя компонента:CClientProxyTransport, :: 'Gateway Error' in CClientProxyTransport::SetErrorStatus at 2853 err=[0x800706ba], код ошибки:0x800706BA

Трассировка отключения:CProxyRawTrans "Disconnect trace:'Disconnect Transport' in CProxyRawTrans::OnCloseConnection at 1946 err=[0xd]", код ошибки:0xD

Трассировка отключения:CClientProxyTransport "Disconnect trace:'Gateway connection disconnected.' in CClientHTTPProxyTransport::OnDisconnected at 687 err=[0xd]", код ошибки:0xD

Имя компонента:CClientProxyTransport, :: 'Terminating Gateway's channel. CurrentState=1' in CProxyRawTrans::Terminate at 1761 err=[0x0]

Имя компонента:CAAHttpClientRawTransport, :: 'Graceful=0' in CAAHttpClientRawTransport::Cleanup at 335 err=[0x0], код ошибки:0x0

Имя компонента:CAAHttpClientRawTransport, :: 'Graceful=0' in CAAHttpClientRawTransport::Cleanup at 335 err=[0x0], код ошибки:0x0

Отключение RDP ClientActiveX (Причина= 50331661)

Причем если направить трафик через WAP, то снова начинает работать.

Подскажите с чем связана ошибка?

По дате
По рейтингу
Аватар пользователя
Ученик
7мес
Изменено

Добавь эту ссылку в список DNS адресов компьютера (Сам сайт не открывается или открывается с ошибкой, но он используется как DNS-сервер). Как добавить: 1. Cоздай папку "dns" на Локальном диске

  1. Сделай в ней файл "DNS_ADR.txt" и напиши в нём: text:{CAA_http://xx.xxx.xxx/}

Аватар пользователя
Ученик
7мес

Подскажите, что указывать вместо xx.xxx? Файл нужно расположить на клиенте откуда запускам ярлык?

Аватар пользователя
Ученик
7мес

Как настроен haproxy? Для прокси rdp веб-морды нужен http mode, а для прокси траффика до rdg нужен tcp mode. Для разделения траффика на одном ip можно привязать haproxy к двум портам (443 и 8080 например) и заставить слушать весь входящий траффик на порт 443, затем делить трафик по принципу: если rdp.example.com (веб-морда), то http mode прокси до морды (через localhost:8080 и дополнительный frontend на порту 8080 и режим http), если rdg.example.com, то tcp mode прокси (frontend на порту 443 и режим tcp) до rdg. Если что - попозже напишу примерный конфиг



Видео по теме