web-dev-qa-db-ja.com

haproxyはumlaut-domainsを使用できますか?

1つのサーバーで複数のウェブページをホストしています。

ルーティングには、haproxyを使用しています。

さて、ある面白いユーザーがウムラウトドメイン「supportbär.de」を望んでいます。

#haproxy.cfg

frontend http-in
  ..
  acl is_supportbaer hdr_dom(Host) -i supportbär
  use_backend supportbaer_wp if is_supportbaer

通常、これは機能します。ただし、この場合、バックエンド「supportbaer_wp」は使用されません。

Haproyはウムラウトドメインを処理できますか?どうやって?

1
Markus Schulte

ドメインはウムラウトを持つことができないため、ウムラウトドメインを処理できるものはありません。

URLはウムラウトで送信できないため、ブラウザはそれらを別の形式に変換する必要があります。

http://en.wikipedia.org/wiki/Internationalized_domain_name

アルゴリズムがあります。

これは互換性のために行われました。

したがって、HaProxyはaeを認識しません-IDNに従ってコーディングを認識します。それを使用すれば、うまくいくはずです。

IDNAエンコーディングの例[編集] IDNAエンコーディングは、ドメインBücher.chの例を使用して説明できます。 「Bücher」はドイツ語で「本」を意味し、.chはスイスのccTLDです。このドメイン名には、Bücherとchの2つのラベルがあります。 2番目のラベルは純粋なASCIIであり、変更されません。最初のラベルはNameprepによって処理されてbücherになり、次にPunycodeに変換されてbcher-kvaになります。次に、接頭辞xn--を付けて、xn--bcher-kvaを生成します。したがって、DNSでの使用に適した結果のラベルはxn--bcher-kva.chです。

変換には、 http://mct.verisign-grs.com/ などのオンラインIDNサービスを使用できます。

7
TomTom