Назад | Перейти на главную страницу

Можно ли подключиться к серверу MS SQL через HAProxy?

Мне нужно подключиться к серверу MS SQL, размещенному на Amazon (RDS, одна зона доступности), через HAProxy. Я попробовал следующую конфигурацию (внизу), но MS SQL вернул мне (хотя я использовал действительные логин и пароль):

Соединение с сервером было успешно установлено, но затем произошла ошибка во время квитирования перед входом в систему. (поставщик: поставщик TCP, ошибка: 0 - существующее соединение было принудительно закрыто удаленным узлом.) (Microsoft SQL Server, ошибка: 10054)

listen RDS_MSSQL *:1433
    mode tcp
    balance roundrobin
    option log-health-checks
    server legacy xxxx.xxxxxx.us-east-1.rds.amazonaws.com:1433 check port 1433 inter 1000

Это возможно. Вместо того listen Я использую frontend блок и backend блок:

frontend tcp-in-mssql
  bind :8800
  mode tcp
  use_backend mssql

backend mssql
  mode tcp
  server mssqlserver 10.10.10.10:1433 check

Похоже, что по умолчанию это невозможно из-за трехстороннего рукопожатия, требуемого MS SQL.
https://support.microsoft.com/en-us/kb/287932

Другой сервер баз данных, такой как PostgreSQL, не требует такой специальной обработки и хорошо работает через HAProxy.