HAProxyにバックエンドサーバーのDNSをルックアップさせる


13

私はhaproxy 1.5.8を持っています。これは、(パスに基づいて)いくつかの要求を、制御できないサードパーティにプロキシします。

バックエンドサーバーのIPは起動時に一度解決されるため、IPが変更されると壊れます。

そのための回避策があれば?nginxでは、内部変数を宣言してX秒間キャッシュすることができます。HAProxyの同様のソリューションは見つかりませんでした。

回答:


24

HAProxy 1.6の最近のリリースでは、問題に対する解決策があります。リゾルバを定義し、これらをバックエンドに関連付けることができます。その後、実行時にIP解決が行われます。

resolvers dns
  nameserver public-0  xx.xx.xx.xx:53
  hold valid 1s

frontend http
  bind *:8000
  default_backend site-backend

backend site-backend
  balance leastconn
  server site sub.example.com:80 resolvers dns check inter 1000

これについて議論するStackOverflow

対応するドキュメントへのリンク


私はこれを行うと、ページをリフレッシュし始めるときうーん、私は503分の中ほどになってしまう
Paulius Dragunas

複数の重複した「サーバー」行が
必要でした

1

残念ながら、これはまだ進行中の作業のようです。

別のnginxプロキシの使用を検討しましたか?そのバックエンドのリクエストをnginxインスタンスに転送すると、DNSの解決が行われ、リクエストが転送されますか?アイデアではありませんが、トラフィックの少ない環境で機能する可能性があります。


その解決策は常にありますが、それをシンプルに保つ解決策を見つけたいと思っています。
Bastien974
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.