Ich muss mich über HAProxy mit einem MS SQL-Server verbinden können, der bei Amazon gehostet wird (RDS, einzelne AZ). Ich habe die folgende Konfiguration ausprobiert (unten), aber MS SQL hat mir Folgendes zurückgegeben (obwohl ich einen gültigen Benutzernamen und ein gültiges Passwort verwendet habe):
Eine Verbindung mit dem Server wurde erfolgreich hergestellt, dann ist jedoch während des Handshakes vor der Anmeldung ein Fehler aufgetreten. (Anbieter: TCP-Anbieter, Fehler: 0 – Eine bestehende Verbindung wurde vom Remotehost zwangsweise geschlossen.) (Microsoft SQL Server, Fehler: 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
Antwort1
Es ist möglich. Statt listen
I benutze ich einen frontend
Block und einen backend
Block:
frontend tcp-in-mssql
bind :8800
mode tcp
use_backend mssql
backend mssql
mode tcp
server mssqlserver 10.10.10.10:1433 check
Antwort2
Scheint so, als wäre es standardmäßig nicht möglich, da MS SQL einen Drei-Wege-Handshake erfordert.
https://support.microsoft.com/en-us/kb/287932
Andere Datenbankserver wie PostgreSQL erfordern diese spezielle Behandlung nicht und funktionieren gut über HAProxy