私はhaproxyを使用して、単一のサーバーで実行されているいくつかのアプリケーションのルートを指示しています。使用中のドメインの1つには、数十のサブドメインがあり、いくつかのアプリケーションの1つに送信する必要があります。
現在、これらのサブドメインをすべて別の行にリストしています。私のフロントエンド構成は次のようになります:
frontend http-in
bind *:80
acl alpha hdr(host) -i alpha.com
acl beta hdr(host) -i beta.com
acl gamma00 hdr(host) -i apple.gamma.com
acl gamma01 hdr(host) -i banana.gamma.com
acl gamma02 hdr(host) -i cherry.gamma.com
acl gamma03 hdr(host) -i durian.gamma.com
acl gamma04 hdr(host) -i elderberry.gamma.com
acl gamma05 hdr(host) -i fig.gamma.com
acl gamma06 hdr(host) -i grapefruit.gamma.com
acl gamma hdr(host) -i gamma.com
use_backend a if alpha
use_backend b if beta
use_backend sub1 if gamma00
use_backend sub1 if gamma01
use_backend sub1 if gamma02
use_backend sub2 if gamma03
use_backend sub2 if gamma04
use_backend sub2 if gamma05
use_backend sub2 if gamma06
use_backend g if gamma
default_backend default
より簡潔な形で同様の結果を達成する方法はありますか?そのようなリストは効果的ですか、またはある時点で正規表現に切り替える方が良いでしょうか?
regex
れています。のhdr_beg
代わりにを使用してhdr
、サブドメインのみを列挙できることにも注意してください。最後に、あなたの崩壊することは可能である必要がありgamma00-06
、単に2つのACLのための1にACLをsub1
し、ための1sub2
単に同じを使用して、acl <title>
ACLラインに。