haproxy 可以使用变音域吗?

Mar*_*lte 1 domain-name-system haproxy idn

我在一台服务器上托管多个网页。

对于路由,我使用 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
Run Code Online (Sandbox Code Playgroud)

通常,这是有效的。但在这种情况下,不使用后端“supportbaer_wp”。

haproy 可以处理变音域吗?如何?

Tom*_*Tom 7

没有什么可以处理变音域 - 因为域不能有变音。

浏览器必须将它们转换为另一种形式,因为 URL 不能以变音形式传输。

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

有算法。

这样做是为了兼容性。

因此,HaProxy 不会看到 ae - 它会看到根据 IDN 的编码。使用它,它应该可以工作。

IDNA 编码示例[编辑] IDNA 编码可以使用示例域 Bücher.ch 来说明。“Bücher”在德语中是“books”的意思,.ch 是瑞士的 ccTLD。这个域名有两个标签,Bücher 和 ch。第二个标签是纯 ASCII,保持不变。第一个标签经过Nameprep处理后得到bücher,然后转成Punycode得到bcher-kva。然后以 xn-- 为前缀以生成 xn--bcher-kva。因此,适合在 DNS 中使用的结果标签是 xn--bcher-kva.ch。

对于转换,您可以使用在线 IDN 服务,例如http://mct.verisign-grs.com/

  • 具体来说,对于您的问题,“supportbär.de”翻译为“xn--supportbr-22a.de” (2认同)