我需要能夠透過 HAProxy 連接到託管在 Amazon(RDS、單一可用區)上的 MS SQL 伺服器。我嘗試了以下配置(底部),但 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
答案1
有可能的。我不是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
答案2
由於 MS SQL 需要三向握手,預設情況下這是不可能的
https://support.microsoft.com/en-us/kb/287932
其他資料庫伺服器(例如 PostgreSQL)不需要這種特殊處理,並且可以透過 HAProxy 正常運作